
/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/community.css */

:root {
  --navy:#081b31;
  --navy-2:#102b4a;
  --blue:#0d86b3;
  --sky:#8fd7ec;
  --gold:#d4b077;
  --gold-soft:#f3e4c7;
  --white:#ffffff;
  --paper:#f7f8f8;
  --text:#163047;
  --muted:#6f7f8e;
  --line:rgba(18,48,73,.10);
  --shadow:0 24px 70px rgba(6,27,48,.10);
  --font-body:"Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-display:"Playfair Display", Georgia, "Times New Roman", serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-body);
  background:var(--paper);
  color:var(--text);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.menu-open{overflow:hidden}
a{text-decoration:none;color:inherit}
button,input,select{font:inherit}
button{-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%}

.container{width:min(1180px, calc(100% - 40px)); margin:auto}

.site-header{
  position:fixed; inset:0 0 auto 0; z-index:90; padding:16px 20px; transition:.3s ease;
}
.site-header.scrolled{padding-top:10px}
.header-shell{
  width:min(1260px, 100%); margin:auto; height:72px; padding:0 12px 0 18px;
  display:grid; grid-template-columns:auto 1fr auto; gap:18px; align-items:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(6,24,42,.60), rgba(6,24,42,.32));
  backdrop-filter:blur(18px) saturate(135%);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  box-shadow:0 16px 46px rgba(0,13,25,.16);
}
.site-header.scrolled .header-shell{
  background:rgba(6,24,42,.86);
  border-color:rgba(255,255,255,.10);
}
.brand{display:flex; align-items:center; gap:12px; color:#fff; white-space:nowrap}
.brand img{width:42px; height:auto; object-fit:contain; filter:drop-shadow(0 6px 18px rgba(98,212,242,.18))}
.brand-text strong{
  display:block; font-family:var(--font-display); font-size:18px; font-weight:600; letter-spacing:.06em; line-height:1;
}
.brand-text small{display:block; margin-top:6px; font-size:9px; color:rgba(255,255,255,.60); letter-spacing:.24em}

.desktop-nav{display:flex; justify-content:center; align-items:center; gap:4px; min-width:0}
.desktop-nav a{
  position:relative; padding:12px 12px; font-size:13px; font-weight:500; color:rgba(255,255,255,.76); white-space:nowrap; transition:.25s ease;
}
.desktop-nav a::after{
  content:""; position:absolute; left:12px; right:12px; bottom:8px; height:1px;
  background:linear-gradient(90deg, var(--gold), var(--gold-soft)); transform:scaleX(0); transform-origin:center; transition:.25s ease;
}
.desktop-nav a:hover{color:#fff}
.desktop-nav a:hover::after{transform:scaleX(1)}

.header-actions{display:flex; align-items:center; gap:8px}
.lang-switch{display:flex; gap:2px; padding:3px; border-radius:11px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.06)}
.lang-switch button{
  border:0; background:transparent; color:rgba(255,255,255,.56); font-size:11px; font-weight:700;
  padding:7px 9px; border-radius:8px; cursor:pointer;
}
.lang-switch button.active{background:#fff; color:var(--navy)}
.btn{
  border:0; cursor:pointer; border-radius:13px; padding:12px 16px; font-size:12px; font-weight:700; transition:.25s ease;
}
.btn-outline{color:#fff; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14)}
.btn-outline:hover{background:rgba(255,255,255,.15)}
.btn-light{color:var(--navy); background:linear-gradient(135deg, #fff, #e5f3f8); box-shadow:0 10px 26px rgba(173,227,240,.15)}
.btn-light:hover{transform:translateY(-1px)}
.menu-toggle{
  display:none; width:44px; height:44px; border-radius:12px; border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08); color:#fff; cursor:pointer; place-items:center;
}
.menu-toggle .lines, .menu-toggle .lines::before, .menu-toggle .lines::after{
  content:""; display:block; width:18px; height:1.7px; background:currentColor; transition:.25s ease;
}
.menu-toggle .lines::before{transform:translateY(-6px)}
.menu-toggle .lines::after{transform:translateY(4px)}
.menu-toggle.active .lines{background:transparent}
.menu-toggle.active .lines::before{transform:rotate(45deg)}
.menu-toggle.active .lines::after{transform:rotate(-45deg)}

.mobile-menu{
  display:none; position:fixed; z-index:85; top:94px; left:16px; right:16px;
  padding:10px; border-radius:20px;
  background:rgba(6,24,42,.96); border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  box-shadow:0 24px 70px rgba(0,0,0,.24);
  opacity:0; visibility:hidden; transform:translateY(-10px); pointer-events:none; transition:.25s ease;
}
.mobile-menu.open{opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto}
.mobile-menu a, .mobile-menu .mobile-btn{
  display:flex; width:100%; padding:13px 12px; color:#fff; border-radius:11px; font-size:13px; background:transparent; border:0; cursor:pointer; text-align:left;
}
.mobile-menu a:hover, .mobile-menu .mobile-btn:hover{background:rgba(255,255,255,.08)}
.mobile-actions{display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:10px 4px 4px}
.mobile-lang{display:flex; gap:8px; padding:12px 4px 4px; margin-top:4px; border-top:1px solid rgba(255,255,255,.10)}
.mobile-lang button{
  border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.06); color:#fff; border-radius:9px; padding:8px 11px; font-size:10px; font-weight:700; cursor:pointer;
}
.mobile-lang button.active{background:#fff; color:var(--navy)}

.hero{
  position:relative; min-height:100svh; overflow:hidden; background:#0f3f68; display:flex; align-items:flex-end;
}
.hero-slider{position:absolute; inset:0}
.hero-slide{
  position:absolute; inset:0; opacity:0; transition:opacity .9s ease, transform 6s ease; transform:scale(1.02);
  background-size:cover; background-position:center;
}
.hero-slide.active{opacity:1; transform:scale(1.06)}
.hero-slide.s1{background-image:url('../images/hero-day.jpg'); background-position:68% center}
.hero-slide.s2{background-image:url('../images/hero-night.jpg'); background-position:center}
.hero-slide.s3{background-image:url('../images/hero-day.jpg'); background-position:76% center}
.hero-slide::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(6,24,42,.74) 0%, rgba(6,24,42,.40) 38%, rgba(6,24,42,.10) 68%, rgba(6,24,42,.18) 100%),
    linear-gradient(0deg, rgba(6,24,42,.82) 0%, rgba(6,24,42,.08) 46%, rgba(6,24,42,.26) 100%);
}
.slide-content{
  position:absolute; left:0; right:0; bottom:148px; z-index:2; pointer-events:none;
}
.slide-content .container{display:flex; justify-content:flex-end}
.activity-chip{
  width:min(380px, 100%); padding:20px; border-radius:22px; color:#fff;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(8,34,58,.56), rgba(5,24,42,.40));
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  box-shadow:0 18px 55px rgba(0,18,33,.20);
}
.activity-chip .k{font-size:10px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:#bfe9f2}
.activity-chip h3{margin:10px 0 10px; font-family:var(--font-display); font-size:28px; line-height:1.2; font-weight:600}
.activity-chip p{margin:0; color:rgba(255,255,255,.74); font-size:13px; line-height:1.72}

.cloud-layer{
  position:absolute; left:-40%; width:180%; height:44%; z-index:1; pointer-events:none;
  background-image:url('../images/cloud-base.png'); background-repeat:repeat-x; background-size:auto 100%; mix-blend-mode:screen;
}
.cloud-1{top:-1%; opacity:.34; animation:cloudDrift 55s linear infinite}
.cloud-2{top:12%; opacity:.18; transform:scale(.84); filter:blur(.45px); animation:cloudDriftSlow 84s linear infinite reverse}
@keyframes cloudDrift{from{transform:translate3d(0,0,0)}to{transform:translate3d(24%,0,0)}}
@keyframes cloudDriftSlow{from{transform:translate3d(-10%,0,0) scale(.84)}to{transform:translate3d(18%,0,0) scale(.84)}}

.glow{
  position:absolute; left:-10%; bottom:2%; z-index:1; width:55vw; height:55vw; max-width:860px; max-height:860px; pointer-events:none;
  border-radius:50%; background:radial-gradient(circle, rgba(255,215,170,.38) 0%, rgba(255,215,170,.12) 36%, transparent 72%); filter:blur(14px);
}
.hero-overlay-noise{
  position:absolute; inset:0; z-index:1; opacity:.04; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.hero-content{
  position:relative; z-index:3; width:min(1240px, calc(100% - 52px)); margin:0 auto; padding:160px 0 52px;
}
.hero-grid{display:grid; grid-template-columns:minmax(0,1.10fr) minmax(320px,.70fr); gap:42px; align-items:end}
.eyebrow{display:flex; align-items:center; gap:12px; color:#e6fbff; font-size:11px; font-weight:800; letter-spacing:.20em; text-transform:uppercase}
.eyebrow::before{content:""; width:38px; height:1px; background:linear-gradient(90deg, var(--gold), var(--gold-soft))}
.hero h1{
  margin:18px 0 16px; color:#fff; font-family:var(--font-display); font-size:clamp(54px, 7vw, 102px); line-height:.98; letter-spacing:-.04em; font-weight:600;
}
.hero h1 em{font-style:normal; color:#d7f2f9}
.hero .lead{
  max-width:640px; margin:0; color:rgba(255,255,255,.80); font-size:clamp(15px, 1.5vw, 19px); font-weight:300; line-height:1.82;
}
.hero-cta{display:flex; gap:10px; flex-wrap:wrap; margin-top:28px}
.hero-cta .btn{padding:14px 18px}
.hero-metrics{display:flex; flex-wrap:wrap; gap:12px; margin-top:28px}
.metric{
  min-width:140px; padding:14px 16px; border-radius:16px;
  border:1px solid rgba(255,255,255,.12); color:#fff;
  background:rgba(255,255,255,.06); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
}
.metric strong{display:block; font-size:21px; font-weight:800}
.metric span{display:block; margin-top:5px; font-size:11px; color:rgba(255,255,255,.68)}

.hero-card{
  padding:24px; border-radius:26px; color:#fff;
  border:1px solid rgba(255,255,255,.15);
  background:linear-gradient(180deg, rgba(8,34,58,.56), rgba(5,25,44,.42));
  backdrop-filter:blur(18px) saturate(130%); -webkit-backdrop-filter:blur(18px) saturate(130%);
  box-shadow:0 24px 80px rgba(0,16,33,.22);
}
.hero-card .tag{font-size:10px; letter-spacing:.20em; text-transform:uppercase; color:#bde9f3; font-weight:800}
.hero-card h2{margin:12px 0 16px; font-family:var(--font-display); font-size:30px; line-height:1.18; font-weight:600}
.quick-links{display:grid; gap:10px}
.quick-link{
  display:grid; grid-template-columns:42px 1fr auto; gap:12px; align-items:center;
  width:100%; padding:11px; border-radius:16px; color:#fff; text-align:left;
  border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.065); transition:.25s ease;
}
.quick-link:hover{background:rgba(255,255,255,.11); transform:translateX(2px)}
.quick-icon{display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:rgba(255,255,255,.09); font-size:18px}
.quick-link b{display:block; font-size:13px}
.quick-link small{display:block; margin-top:4px; font-size:11px; color:rgba(255,255,255,.56); font-weight:300}
.quick-link .arrow{font-size:18px; color:rgba(255,255,255,.54)}

.hero-bottom{
  margin-top:36px; padding-top:18px; border-top:1px solid rgba(255,255,255,.14); color:#fff;
  display:grid; grid-template-columns:auto 1fr auto auto; gap:15px; align-items:center;
}
.hero-bottom .lb{font-size:10px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:#f0d7a8}
.hero-bottom .txt{font-size:12px; color:rgba(255,255,255,.70); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.slider-dots{display:flex; gap:7px}
.dot{
  width:10px; height:10px; border-radius:50%; border:1px solid rgba(255,255,255,.44); background:transparent; cursor:pointer; padding:0;
}
.dot.active{background:#fff}
.slider-arrows{display:flex; gap:8px}
.arrow-btn{
  width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.08); color:#fff; cursor:pointer;
}

section.block{padding:92px 0}
.section-head{display:flex; justify-content:space-between; align-items:end; gap:28px; margin-bottom:36px}
.section-kicker{font-size:11px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:var(--blue)}
.section-title{margin:10px 0 0; font-family:var(--font-display); font-size:clamp(36px, 4vw, 58px); line-height:1.08; font-weight:600; letter-spacing:-.03em}
.section-copy{max-width:520px; margin:0; color:var(--muted); font-size:14px; line-height:1.82; font-weight:300}

.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.card{
  background:#fff; border:1px solid var(--line); border-radius:24px; overflow:hidden; box-shadow:var(--shadow); transition:.28s ease;
}
.card:hover{transform:translateY(-4px); box-shadow:0 26px 72px rgba(6,27,48,.12)}
.card-media{height:250px; background-size:cover; background-position:center; position:relative}
.card-media.day{background-image:url('../images/hero-day.jpg')}
.card-media.night{background-image:url('../images/hero-night.jpg')}
.card-media.alt{background-image:url('../images/hero-day.jpg'); background-position:82% center}
.card-media::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(5,23,41,.52), transparent 64%)}
.card-body{padding:22px}
.pill{display:inline-flex; padding:7px 10px; border-radius:999px; background:#eef8fb; color:#0b7497; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase}
.card h3{margin:14px 0 8px; font-family:var(--font-display); font-size:25px; line-height:1.18; font-weight:600}
.card p{margin:0 0 16px; color:var(--muted); font-size:13px; line-height:1.78; font-weight:300}
.text-link{font-size:12px; font-weight:800; color:var(--blue)}

.section-dark{
  position:relative; overflow:hidden; color:#fff; background:linear-gradient(135deg, #071a30, #0d2b48);
}
.section-dark::before{
  content:""; position:absolute; right:-180px; top:-220px; width:680px; height:680px; border-radius:50%;
  background:radial-gradient(circle, rgba(76,190,217,.26), transparent 66%);
}
.dark-grid{position:relative; z-index:1; display:grid; grid-template-columns:1.04fr .96fr; gap:38px; align-items:center}
.section-dark .section-kicker{color:#97dced}
.section-dark .section-title{color:#fff}
.section-dark .section-copy{color:rgba(255,255,255,.66)}
.portal-tools{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.tool{
  min-height:132px; padding:18px; border-radius:18px; border:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.055);
}
.tool .icon{font-size:21px}
.tool strong{display:block; margin:12px 0 5px; font-size:13px}
.tool small{display:block; color:rgba(255,255,255,.50); font-size:11px; line-height:1.65; font-weight:300}

.activity-wrap{position:relative}
.activity-slider{overflow:hidden}
.activity-track{display:flex; gap:16px; transition:transform .5s ease}
.activity-card{
  flex:0 0 calc(33.333% - 10.666px); min-width:0; position:relative; overflow:hidden;
  border-radius:24px; min-height:360px; background-size:cover; background-position:center; box-shadow:var(--shadow)
}
.activity-card.a1{background-image:linear-gradient(180deg, rgba(4,26,48,.04), rgba(4,26,48,.62)), url('../images/hero-day.jpg'); background-position:74% center}
.activity-card.a2{background-image:linear-gradient(180deg, rgba(4,26,48,.08), rgba(4,26,48,.72)), url('../images/hero-night.jpg')}
.activity-card.a3{background-image:linear-gradient(180deg, rgba(4,26,48,.08), rgba(4,26,48,.66)), url('../images/hero-day.jpg'); background-position:68% center}
.activity-card.a4{background-image:linear-gradient(180deg, rgba(4,26,48,.08), rgba(4,26,48,.66)), url('../images/hero-night.jpg'); background-position:center}
.activity-card::before{
  content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(7,23,41,.86), rgba(7,23,41,.06) 56%, rgba(255,255,255,.04)); transition:.3s ease;
}
.activity-card:hover::before{background:linear-gradient(0deg, rgba(7,23,41,.90), rgba(7,23,41,.10) 60%, rgba(255,255,255,.08))}
.activity-content{
  position:absolute; left:0; right:0; bottom:0; z-index:1; padding:24px; color:#fff;
}
.activity-date{display:inline-flex; padding:7px 10px; border-radius:999px; background:rgba(255,255,255,.14); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase}
.activity-content h3{margin:14px 0 10px; font-family:var(--font-display); font-size:30px; line-height:1.08; font-weight:600}
.activity-content p{margin:0 0 16px; color:rgba(255,255,255,.72); font-size:13px; line-height:1.72; font-weight:300}
.activity-nav{display:flex; justify-content:flex-end; gap:8px; margin-top:16px}

.gallery-grid{display:grid; grid-template-columns:1.32fr .68fr .68fr; gap:12px}
.gallery-grid figure{margin:0; min-height:230px; border-radius:20px; overflow:hidden; position:relative; background-size:cover; background-position:center}
.gallery-grid figure:nth-child(1){grid-row:span 2; min-height:472px; background-image:url('../images/hero-day.jpg'); background-position:72% center}
.gallery-grid figure:nth-child(2){background-image:url('../images/hero-night.jpg')}
.gallery-grid figure:nth-child(3){background-image:url('../images/hero-day.jpg'); background-position:84% center}
.gallery-grid figure:nth-child(4){background-image:url('../images/hero-night.jpg'); background-position:74% center}
.gallery-grid figure:nth-child(5){background-image:url('../images/hero-day.jpg'); background-position:66% center}
.gallery-grid figure::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(7,23,41,.58), transparent 66%)}
.gallery-grid figcaption{position:absolute; left:18px; bottom:16px; z-index:1; color:#fff; font-size:12px; font-weight:700}

footer{
  padding:38px 0; background:#061523; color:#fff;
}
.footer-inner{display:flex; justify-content:space-between; align-items:center; gap:20px}
.footer-note{font-size:11px; color:rgba(255,255,255,.45); line-height:1.7}

.modal{
  position:fixed; inset:0; z-index:120; display:none; place-items:center; padding:20px;
  background:rgba(2,14,26,.74); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
}
.modal.open{display:grid}
.dialog{
  width:min(530px,100%); max-height:90svh; overflow:auto; background:#fff; border-radius:26px; padding:26px; box-shadow:0 36px 110px rgba(0,0,0,.34);
}
.dialog-head{display:flex; justify-content:space-between; align-items:flex-start; gap:14px}
.dialog h3{margin:4px 0 6px; font-family:var(--font-display); font-size:32px; font-weight:600}
.dialog p{margin:0 0 18px; color:var(--muted); font-size:12px; line-height:1.72}
.close{
  width:36px; height:36px; border-radius:50%; border:0; background:#edf3f5; cursor:pointer; font-size:18px;
}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.field{display:grid; gap:6px}
.field.full{grid-column:1/-1}
label{font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#42596c}
input, select{
  width:100%; border:1px solid #dce5ea; border-radius:13px; padding:12px 13px; background:#fbfcfd; color:#173047; outline:none;
}
input:focus, select:focus{border-color:#72c0d3; box-shadow:0 0 0 4px rgba(75,179,205,.11)}
.submit{width:100%; margin-top:14px; background:var(--navy); color:#fff; padding:14px}
.form-note{margin-top:12px; font-size:11px; color:#8794a0; line-height:1.65}

.reveal{opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease}
.reveal.show{opacity:1; transform:none}

@media (max-width:1100px){
  .desktop-nav a{padding-left:9px; padding-right:9px; font-size:12px}
}
@media (max-width:980px){
  .desktop-nav, .header-actions .login-desktop, .header-actions .register-desktop, .header-actions .lang-desktop{display:none}
  .menu-toggle{display:grid}
  .mobile-menu{display:block}
  .hero-grid{grid-template-columns:1fr}
  .slide-content{bottom:126px}
  .cards{grid-template-columns:1fr 1fr}
  .dark-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .gallery-grid figure:nth-child(1){grid-column:1/-1; grid-row:auto; min-height:340px}
  .activity-card{flex-basis:calc(50% - 8px)}
}
@media (max-width:720px){
  .site-header{padding:10px}
  .header-shell{height:62px; padding:0 9px 0 13px; border-radius:17px}
  .brand img{width:34px}
  .brand-text strong{font-size:15px}
  .brand-text small{display:none}
  .hero-content{width:calc(100% - 28px); padding:122px 0 26px}
  .hero-grid{gap:22px}
  .hero h1{font-size:clamp(46px, 14vw, 70px)}
  .hero .lead{font-size:14px; max-width:95%; line-height:1.75}
  .hero-cta{display:grid; grid-template-columns:1fr 1fr}
  .hero-cta .btn{padding:13px 11px}
  .hero-metrics{gap:8px}
  .metric{min-width:calc(50% - 4px); padding:12px 13px}
  .hero-card{padding:18px; border-radius:22px}
  .hero-card h2{font-size:24px}
  .activity-chip{padding:16px; width:min(340px, 90vw)}
  .activity-chip h3{font-size:24px}
  .hero-bottom{grid-template-columns:1fr auto; gap:10px; margin-top:26px}
  .hero-bottom .lb{grid-column:1/-1}
  .hero-bottom .txt{font-size:11px}
  .cloud-layer{height:36%; width:230%; left:-65%}
  .cloud-1{opacity:.26}
  .cloud-2{opacity:.10}
  section.block{padding:66px 0}
  .container{width:min(100% - 28px, 1180px)}
  .section-head{display:block}
  .section-copy{margin-top:14px; max-width:none}
  .cards{grid-template-columns:1fr}
  .card-media{height:230px}
  .portal-tools{grid-template-columns:1fr 1fr}
  .activity-card{flex-basis:100%; min-height:340px}
  .gallery-grid{grid-template-columns:1fr}
  .gallery-grid figure, .gallery-grid figure:nth-child(1){grid-column:auto; min-height:228px}
  .footer-inner{display:block}
  .footer-note{display:block; margin-top:15px}
  .form-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto !important; animation:none !important; transition:none !important}
}

/* ===== V4: time-aware day/night atmosphere ===== */
html.theme-day .hero-slide.s1,
html.theme-day .hero-slide.s2,
html.theme-day .hero-slide.s3 {
  background-image:url('../images/hero-day.jpg') !important;
}
html.theme-day .hero-slide.s1 { background-position:68% center !important; }
html.theme-day .hero-slide.s2 { background-position:58% center !important; }
html.theme-day .hero-slide.s3 { background-position:79% center !important; }

html.theme-night .hero-slide.s1,
html.theme-night .hero-slide.s2,
html.theme-night .hero-slide.s3 {
  background-image:url('../images/hero-night.jpg') !important;
}
html.theme-night .hero-slide.s1 { background-position:48% center !important; }
html.theme-night .hero-slide.s2 { background-position:center !important; }
html.theme-night .hero-slide.s3 { background-position:62% center !important; }

.cloud-layer {
  background-image:url('../images/cloud-base.png') !important;
  background-size:auto 100% !important;
  filter:contrast(1.12) brightness(1.07) saturate(.98);
}
.cloud-1 {
  height:48% !important;
  top:-2% !important;
  opacity:.46 !important;
  animation-duration:52s !important;
}
.cloud-2 {
  height:42% !important;
  top:13% !important;
  opacity:.25 !important;
  filter:contrast(1.18) brightness(1.10) blur(.15px) !important;
  animation-duration:79s !important;
}
.cloud-3 {
  position:absolute;
  left:-55%;
  top:28%;
  width:205%;
  height:31%;
  z-index:1;
  pointer-events:none;
  background-image:url('../images/cloud-base.png');
  background-repeat:repeat-x;
  background-size:auto 100%;
  mix-blend-mode:screen;
  opacity:.15;
  filter:contrast(1.20) brightness(1.08);
  animation:cloudDriftThird 103s linear infinite;
}
@keyframes cloudDriftThird {
  from { transform:translate3d(-8%,0,0) scale(.76); }
  to { transform:translate3d(17%,0,0) scale(.76); }
}

html.theme-night .cloud-1 { opacity:.10 !important; filter:brightness(.74) saturate(.55) contrast(1.10) !important; }
html.theme-night .cloud-2 { opacity:.055 !important; filter:brightness(.70) saturate(.45) contrast(1.08) blur(.4px) !important; }
html.theme-night .cloud-3 { opacity:.035 !important; filter:brightness(.62) saturate(.35); }
html.theme-night .glow { opacity:.08; }
html.theme-day .night-sky { opacity:0; visibility:hidden; }
html.theme-night .night-sky { opacity:1; visibility:visible; }

.night-sky {
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
  opacity:0;
  visibility:hidden;
  transition:opacity 1.25s ease, visibility 1.25s ease;
}
.stars {
  position:absolute;
  inset:0 0 28% 0;
}
.star {
  position:absolute;
  width:2px;
  height:2px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 6px rgba(207,231,255,.9);
  opacity:.55;
  animation:starTwinkle var(--twinkle,3.6s) ease-in-out infinite;
  animation-delay:var(--delay,0s);
}
.star.big {
  width:3px;
  height:3px;
  box-shadow:0 0 9px rgba(215,236,255,.96);
}
@keyframes starTwinkle {
  0%,100% { opacity:.24; transform:scale(.78); }
  50% { opacity:.95; transform:scale(1.24); }
}

.moon {
  position:absolute;
  top:15%;
  left:18%;
  width:clamp(74px,8vw,126px);
  aspect-ratio:1;
  border-radius:50%;
  background:
    radial-gradient(circle at 37% 31%, rgba(221,230,238,.52) 0 4%, transparent 5%),
    radial-gradient(circle at 68% 60%, rgba(173,188,204,.28) 0 6%, transparent 7%),
    radial-gradient(circle at 47% 72%, rgba(171,187,201,.25) 0 4%, transparent 5%),
    radial-gradient(circle at 64% 25%, rgba(171,186,201,.20) 0 3.5%, transparent 4.5%),
    radial-gradient(circle at 39% 48%, rgba(176,190,205,.18) 0 7%, transparent 8%),
    radial-gradient(circle at 35% 30%, #fffdf4 0%, #f7f4e9 47%, #dbe6ef 72%, #bacbd9 100%);
  box-shadow:
    0 0 22px rgba(215,233,248,.55),
    0 0 65px rgba(183,219,244,.28),
    0 0 115px rgba(150,205,238,.16);
  animation:moonFloat 8s ease-in-out infinite;
}
.moon::after {
  content:"";
  position:absolute;
  inset:-38%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(197,228,249,.15) 0%, rgba(197,228,249,.04) 42%, transparent 70%);
}
@keyframes moonFloat {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(-6px); }
}

.shooting-star {
  position:absolute;
  top:24%;
  left:63%;
  width:94px;
  height:1px;
  opacity:0;
  transform:rotate(-26deg);
  transform-origin:left center;
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(238,248,255,.92));
  filter:drop-shadow(0 0 5px rgba(219,240,255,.85));
  animation:shootingStar 11s ease-in-out infinite;
  animation-delay:2.5s;
}
@keyframes shootingStar {
  0%,72%,100% { opacity:0; transform:translate3d(0,0,0) rotate(-26deg) scaleX(.55); }
  75% { opacity:1; }
  82% { opacity:0; transform:translate3d(230px,110px,0) rotate(-26deg) scaleX(1.1); }
}

.time-mode-badge {
  position:absolute;
  z-index:5;
  top:116px;
  right:max(26px, calc((100vw - 1240px)/2));
  display:flex;
  align-items:center;
  gap:9px;
  padding:9px 12px;
  border-radius:999px;
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(5,24,42,.28);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  font-size:10px;
  letter-spacing:.04em;
}
.time-mode-badge .mode-dot {
  width:7px;
  height:7px;
  border-radius:50%;
  background:#ffd78e;
  box-shadow:0 0 10px rgba(255,215,142,.55);
}
html.theme-night .time-mode-badge .mode-dot {
  background:#bcdcff;
  box-shadow:0 0 10px rgba(188,220,255,.75);
}

.notice-center {
  position:relative;
  z-index:8;
  margin-top:-34px;
  padding:0 0 40px;
}
.notice-shell {
  width:min(1180px,calc(100% - 40px));
  margin:auto;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:15px;
}
.notice-main {
  position:relative;
  overflow:hidden;
  padding:24px 26px;
  border-radius:24px;
  background:linear-gradient(135deg,#ffffff,#f7fbfc);
  border:1px solid rgba(14,73,101,.11);
  box-shadow:0 24px 70px rgba(5,31,52,.14);
}
.notice-main::before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:linear-gradient(180deg,#d4b077,#0d86b3);
}
.notice-topline {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:13px;
}
.new-badge {
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 10px;
  border-radius:999px;
  background:#fff3df;
  color:#9a6417;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.new-badge::before {
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#e0a044;
  box-shadow:0 0 0 5px rgba(224,160,68,.12);
  animation:noticePulse 2s ease-in-out infinite;
}
@keyframes noticePulse {
  0%,100% { transform:scale(.92); box-shadow:0 0 0 4px rgba(224,160,68,.10); }
  50% { transform:scale(1.12); box-shadow:0 0 0 8px rgba(224,160,68,.03); }
}
.notice-main .meta {
  font-size:10px;
  color:#7e8c98;
  font-weight:600;
}
.notice-main h2 {
  margin:0 0 9px;
  font-family:var(--font-display);
  font-size:clamp(24px,2.4vw,34px);
  line-height:1.18;
  color:var(--navy);
}
.notice-main p {
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.72;
}
.notice-main .notice-action {
  display:inline-flex;
  margin-top:15px;
  font-size:12px;
  font-weight:800;
  color:var(--blue);
}
.notice-list {
  padding:15px;
  border-radius:24px;
  color:#fff;
  background:linear-gradient(145deg,#071b31,#0e3150);
  box-shadow:0 24px 70px rgba(5,31,52,.14);
}
.notice-list-title {
  padding:6px 7px 12px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#a6deea;
}
.notice-row {
  display:grid;
  grid-template-columns:43px 1fr auto;
  gap:11px;
  align-items:center;
  padding:12px 8px;
  border-top:1px solid rgba(255,255,255,.09);
}
.notice-date {
  display:grid;
  place-items:center;
  width:43px;
  height:43px;
  border-radius:13px;
  background:rgba(255,255,255,.08);
  text-align:center;
  font-size:9px;
  color:#d7ebf0;
}
.notice-date b {
  display:block;
  font-size:14px;
  color:#fff;
}
.notice-row strong {
  display:block;
  font-size:11px;
  line-height:1.45;
}
.notice-row small {
  display:block;
  margin-top:3px;
  font-size:9px;
  color:rgba(255,255,255,.49);
}
.notice-row .mini-arrow {
  color:rgba(255,255,255,.5);
  font-size:17px;
}

.hero-bottom {
  border-top-color:rgba(255,255,255,.18) !important;
}
.hero-bottom .lb {
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:10px !important;
  color:#ffe0a9 !important;
}
.hero-bottom .lb::before {
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#f3bc5e;
  box-shadow:0 0 0 5px rgba(243,188,94,.10);
}
.hero-bottom .txt {
  color:rgba(255,255,255,.82) !important;
  font-weight:500;
}

@media (max-width:980px) {
  .time-mode-badge {
    top:96px;
    right:20px;
  }
  .notice-shell {
    grid-template-columns:1fr;
  }
}
@media (max-width:720px) {
  .time-mode-badge {
    top:82px;
    right:14px;
    padding:7px 9px;
    font-size:9px;
  }
  .moon {
    top:14%;
    left:11%;
    width:72px;
  }
  .stars {
    inset:0 0 35% 0;
  }
  .shooting-star {
    top:20%;
    left:45%;
  }
  .cloud-1 {
    height:38% !important;
    opacity:.38 !important;
  }
  .cloud-2 {
    height:34% !important;
    opacity:.20 !important;
  }
  .cloud-3 {
    width:250%;
    left:-80%;
    height:27%;
  }
  .notice-center {
    margin-top:-18px;
    padding-bottom:24px;
  }
  .notice-shell {
    width:calc(100% - 28px);
  }
  .notice-main {
    padding:20px 20px 20px 22px;
  }
  .notice-list {
    padding:12px;
  }
}


/* =====================================================================
   V5 — WEATHER-AWARE INTRO + STATIC TOWER + SPONSOR BOARD
   - No moving/cross-fading tower positions
   - Only weather layers animate
   ===================================================================== */

/* One fixed tower composition: the building no longer drifts/crossfades. */
:root{--weather-day-bg:url('../images/hero-day.jpg');--weather-night-bg:url('../images/hero-night.jpg')}
.hero-slider{display:none!important}
.weather-bg-fixed{
  position:absolute;
  inset:0;
  z-index:0;
  background-size:cover;
  background-position:68% center;
  background-repeat:no-repeat;
  transform:none!important;
  transition:filter 1.1s ease, opacity 1.1s ease;
}
html.theme-day .weather-bg-fixed{
  background-image:var(--weather-day-bg);
}
html.theme-night .weather-bg-fixed{
  background-image:var(--weather-night-bg);
  background-position:50% center;
}

/* Hide the old image-extracted moving cloud textures completely. */
.cloud-layer,
.cloud-3{display:none!important}

/* Weather atmosphere is above the static background but under content. */
.weather-atmosphere{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
}

/* -----------------------------------------------------------
   CSS-ONLY CLOUDS: no image content, therefore no ghost tower.
   ----------------------------------------------------------- */
.weather-clouds{
  position:absolute;
  inset:0;
  overflow:hidden;
  opacity:0;
  transition:opacity 1.2s ease;
}
.cloud-shape{
  --cloud-alpha:.74;
  position:absolute;
  width:430px;
  height:120px;
  border-radius:999px;
  background:
    radial-gradient(ellipse at 15% 72%, rgba(255,255,255,var(--cloud-alpha)) 0 22%, transparent 24%),
    radial-gradient(ellipse at 33% 48%, rgba(255,255,255,var(--cloud-alpha)) 0 31%, transparent 33%),
    radial-gradient(ellipse at 52% 58%, rgba(255,255,255,var(--cloud-alpha)) 0 36%, transparent 38%),
    radial-gradient(ellipse at 72% 55%, rgba(255,255,255,var(--cloud-alpha)) 0 29%, transparent 31%),
    radial-gradient(ellipse at 88% 70%, rgba(255,255,255,var(--cloud-alpha)) 0 19%, transparent 21%);
  filter:drop-shadow(0 12px 25px rgba(55,104,134,.10));
  opacity:.78;
}
.cloud-shape::after{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  bottom:9%;
  height:34%;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.60),rgba(227,241,246,.34));
  filter:blur(2px);
}
.cloud-c1{top:5%;left:-440px;transform:scale(1.12);animation:cloudOnlyA 72s linear infinite}
.cloud-c2{top:18%;left:-520px;transform:scale(.78);animation:cloudOnlyB 94s linear infinite 8s}
.cloud-c3{top:32%;left:-460px;transform:scale(.60);animation:cloudOnlyA 118s linear infinite 18s}
.cloud-c4{top:10%;left:-580px;transform:scale(.52);animation:cloudOnlyB 138s linear infinite 32s}
@keyframes cloudOnlyA{
  from{translate:0 0}
  to{translate:calc(100vw + 920px) 0}
}
@keyframes cloudOnlyB{
  from{translate:0 0}
  to{translate:calc(100vw + 1050px) -10px}
}

/* -----------------------------------------------------------
   SUNLIGHT
   ----------------------------------------------------------- */
.sun-system{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity 1.2s ease;
}
.sun-disc{
  position:absolute;
  top:9%;
  left:10%;
  width:88px;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,#fffef0 0 24%,#ffe6a3 46%,rgba(255,218,122,.46) 67%,transparent 72%);
  filter:drop-shadow(0 0 24px rgba(255,218,130,.72));
  animation:sunPulse 5s ease-in-out infinite;
}
.sun-rays{
  position:absolute;
  top:-15%;
  left:-16%;
  width:70vw;
  height:110vh;
  transform:rotate(-13deg);
  background:
    linear-gradient(101deg,transparent 37%,rgba(255,250,211,.18) 42%,transparent 47%),
    linear-gradient(108deg,transparent 45%,rgba(255,248,209,.14) 49%,transparent 54%),
    linear-gradient(116deg,transparent 53%,rgba(255,250,215,.10) 56%,transparent 60%);
  mix-blend-mode:screen;
  filter:blur(1px);
}
.lens-flare{
  position:absolute;
  left:31%;
  top:35%;
  width:24px;
  height:24px;
  border-radius:50%;
  background:rgba(255,248,213,.25);
  box-shadow:
    85px 65px 0 -5px rgba(255,232,171,.19),
    172px 126px 0 -8px rgba(168,225,246,.18),
    255px 178px 0 -10px rgba(255,238,192,.18);
  filter:blur(.3px);
  opacity:.72;
}
@keyframes sunPulse{
  0%,100%{transform:scale(.98);filter:drop-shadow(0 0 22px rgba(255,218,130,.58))}
  50%{transform:scale(1.045);filter:drop-shadow(0 0 42px rgba(255,218,130,.78))}
}

/* -----------------------------------------------------------
   RAIN
   ----------------------------------------------------------- */
.rain-system{
  position:absolute;
  inset:-20% 0 0;
  opacity:0;
  overflow:hidden;
  transition:opacity .8s ease;
}
.rain-streaks{
  position:absolute;
  inset:0;
  background-image:
    repeating-linear-gradient(102deg,
      transparent 0 24px,
      rgba(218,236,246,.0) 24px 32px,
      rgba(218,236,246,.42) 33px 34px,
      transparent 35px 58px);
  background-size:72px 120px;
  animation:rainFall .55s linear infinite;
  transform:skewX(-5deg);
  filter:blur(.15px);
}
.rain-streaks.far{
  opacity:.48;
  background-size:96px 160px;
  animation-duration:.82s;
}
@keyframes rainFall{
  from{background-position:0 -140px}
  to{background-position:-24px 140px}
}

/* -----------------------------------------------------------
   FOG / MIST
   ----------------------------------------------------------- */
.fog-system{
  position:absolute;
  inset:0;
  opacity:0;
  overflow:hidden;
  transition:opacity 1.2s ease;
}
.fog-bank{
  position:absolute;
  left:-25%;
  width:150%;
  height:28%;
  border-radius:50%;
  background:linear-gradient(90deg,transparent,rgba(226,237,241,.57) 24%,rgba(242,247,248,.72) 50%,rgba(221,234,238,.48) 74%,transparent);
  filter:blur(20px);
}
.fog-f1{top:20%;animation:fogMove 33s ease-in-out infinite alternate}
.fog-f2{top:42%;opacity:.72;animation:fogMove 43s ease-in-out infinite alternate-reverse}
.fog-f3{top:65%;opacity:.56;animation:fogMove 51s ease-in-out infinite alternate}
@keyframes fogMove{
  from{transform:translateX(-5%)}
  to{transform:translateX(8%)}
}

/* -----------------------------------------------------------
   STORM / LIGHTNING
   ----------------------------------------------------------- */
.lightning{
  position:absolute;
  inset:0;
  opacity:0;
  background:rgba(214,232,255,.0);
}
html.weather-storm .lightning{
  animation:lightningFlash 8s steps(1,end) infinite;
}
@keyframes lightningFlash{
  0%,72%,75%,78%,100%{background:rgba(214,232,255,0)}
  73%{background:rgba(214,232,255,.28)}
  74%{background:rgba(214,232,255,.05)}
  76%{background:rgba(214,232,255,.39)}
  77%{background:rgba(214,232,255,.08)}
}

/* -----------------------------------------------------------
   GLOBAL WEATHER FILTERS
   ----------------------------------------------------------- */
.weather-tone{
  position:absolute;
  inset:0;
  opacity:0;
  transition:background 1.2s ease,opacity 1.2s ease;
}
html.weather-sunny .weather-bg-fixed{
  filter:saturate(1.10) contrast(1.035) brightness(1.045);
}
html.weather-sunny .sun-system{opacity:1}
html.weather-sunny .weather-clouds{opacity:.18}

html.weather-partly-cloudy .weather-bg-fixed{
  filter:saturate(1.04) contrast(1.02) brightness(1.01);
}
html.weather-partly-cloudy .weather-clouds{opacity:.70}

html.weather-cloudy .weather-bg-fixed{
  filter:saturate(.90) contrast(.98) brightness(.91);
}
html.weather-cloudy .weather-clouds{opacity:.88}
html.weather-cloudy .weather-tone{
  opacity:1;
  background:linear-gradient(rgba(81,103,119,.13),rgba(69,89,105,.16));
}

html.weather-overcast .weather-bg-fixed{
  filter:saturate(.72) contrast(.95) brightness(.77);
}
html.weather-overcast .weather-clouds{opacity:1}
html.weather-overcast .cloud-shape{--cloud-alpha:.68;filter:brightness(.84) saturate(.50)}
html.weather-overcast .weather-tone{
  opacity:1;
  background:linear-gradient(rgba(57,72,85,.25),rgba(60,74,86,.29));
}

html.weather-rain .weather-bg-fixed{
  filter:saturate(.68) contrast(.95) brightness(.69);
}
html.weather-rain .weather-clouds{opacity:1}
html.weather-rain .cloud-shape{--cloud-alpha:.62;filter:brightness(.70) saturate(.36)}
html.weather-rain .rain-system{opacity:1}
html.weather-rain .weather-tone{
  opacity:1;
  background:linear-gradient(rgba(35,55,70,.24),rgba(40,60,76,.38));
}

html.weather-fog .weather-bg-fixed{
  filter:saturate(.66) contrast(.83) brightness(.91);
}
html.weather-fog .weather-clouds{opacity:.28}
html.weather-fog .fog-system{opacity:.92}
html.weather-fog .weather-tone{
  opacity:1;
  background:rgba(214,225,229,.16);
}

html.weather-storm .weather-bg-fixed{
  filter:saturate(.55) contrast(.98) brightness(.56);
}
html.weather-storm .weather-clouds{opacity:1}
html.weather-storm .cloud-shape{--cloud-alpha:.56;filter:brightness(.55) saturate(.25)}
html.weather-storm .rain-system{opacity:1}
html.weather-storm .weather-tone{
  opacity:1;
  background:linear-gradient(rgba(18,36,53,.36),rgba(18,35,52,.50));
}

/* Night weather logic */
html.theme-night .sun-system{display:none}
html.theme-night.weather-cloudy .night-sky,
html.theme-night.weather-overcast .night-sky{opacity:.30!important}
html.theme-night.weather-rain .night-sky,
html.theme-night.weather-storm .night-sky,
html.theme-night.weather-fog .night-sky{opacity:.10!important}
html.theme-night.weather-cloudy .moon{opacity:.55}
html.theme-night.weather-overcast .moon,
html.theme-night.weather-rain .moon,
html.theme-night.weather-storm .moon,
html.theme-night.weather-fog .moon{opacity:.14}
html.theme-night .weather-bg-fixed{filter:brightness(.83) saturate(.94) contrast(1.03)}
html.theme-night.weather-rain .weather-bg-fixed{filter:brightness(.56) saturate(.66) contrast(.98)}
html.theme-night.weather-storm .weather-bg-fixed{filter:brightness(.45) saturate(.55) contrast(1.02)}
html.theme-night.weather-fog .weather-bg-fixed{filter:brightness(.67) saturate(.57) contrast(.86)}

/* Live weather pill */
.weather-live{
  position:absolute;
  z-index:6;
  top:116px;
  left:max(26px,calc((100vw - 1240px)/2));
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(5,24,42,.34);
  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
  color:#fff;
  border-radius:999px;
  box-shadow:0 10px 28px rgba(0,15,28,.12);
}
.weather-live .w-icon{font-size:15px}
.weather-live strong{font-size:10px;font-weight:800}
.weather-live small{display:block;margin-top:2px;color:rgba(255,255,255,.60);font-size:8px}
.weather-live .w-temp{font-size:13px;font-weight:800;color:#fff}
.weather-live.loading .w-temp{opacity:.55}

/* Existing time badge is now secondary. */
.time-mode-badge{right:max(26px,calc((100vw - 1240px)/2))}

/* ============================================================
   SPONSOR / ADVERTISING BOARD
   ============================================================ */
.sponsor-board{
  padding:0 0 54px;
}
.sponsor-shell{
  width:min(1180px,calc(100% - 40px));
  margin:auto;
  overflow:hidden;
  border-radius:25px;
  position:relative;
  color:#fff;
  background:
    radial-gradient(circle at 90% 20%,rgba(68,173,205,.22),transparent 38%),
    linear-gradient(135deg,#061a2f,#0b2a49 58%,#123c5c);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 24px 68px rgba(6,28,49,.15);
}
.sponsor-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 20px 0;
}
.sponsor-label{
  display:flex;
  align-items:center;
  gap:9px;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:800;
  color:#c7e8ef;
}
.sponsor-label::before{
  content:"AD";
  display:grid;
  place-items:center;
  width:25px;
  height:18px;
  border-radius:6px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:8px;
  letter-spacing:.08em;
}
.sponsor-head .sponsor-cta{
  color:#f2d8a7;
  font-size:10px;
  font-weight:700;
}
.sponsor-viewport{overflow:hidden}
.sponsor-track{
  display:flex;
  transition:transform .58s cubic-bezier(.22,.61,.36,1);
}
.sponsor-slide{
  flex:0 0 100%;
  min-width:100%;
  display:grid;
  grid-template-columns:130px minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  padding:23px 20px 26px;
}
.sponsor-logo-box{
  height:72px;
  border-radius:16px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.07);
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:.04em;
  color:#fff;
}
.sponsor-copy .s-mini{
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#8fd8e8;
  font-weight:800;
}
.sponsor-copy h3{
  margin:7px 0 6px;
  font-family:var(--font-display);
  font-size:24px;
  font-weight:600;
  line-height:1.17;
}
.sponsor-copy p{
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:11px;
  line-height:1.66;
}
.sponsor-button{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  color:#fff;
  border-radius:12px;
  padding:11px 14px;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
  cursor:pointer;
}
.sponsor-controls{
  position:absolute;
  right:18px;
  bottom:12px;
  display:flex;
  gap:6px;
}
.sponsor-dot{
  width:20px;
  height:3px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.20);
  cursor:pointer;
}
.sponsor-dot.active{background:#fff}

/* Simple sponsor booking modal */
.sponsor-modal-copy{
  padding:14px;
  border-radius:14px;
  background:#f4f8f9;
  color:#5f7180;
  font-size:11px;
  line-height:1.72;
  margin-bottom:14px;
}

@media(max-width:980px){
  .weather-live{top:96px;left:20px}
  .sponsor-slide{grid-template-columns:100px 1fr}
  .sponsor-slide .sponsor-button{grid-column:2}
}
@media(max-width:720px){
  .weather-live{
    top:82px;
    left:14px;
    padding:7px 9px;
  }
  .weather-live small{display:none}
  .weather-live .w-temp{font-size:11px}
  .time-mode-badge{display:none}
  .sun-disc{top:13%;left:8%;width:62px}
  .sun-rays{width:110vw;left:-35%}
  .cloud-shape{width:310px;height:90px}
  .cloud-c1{top:7%}
  .cloud-c2{top:22%}
  .cloud-c3{top:37%}
  .rain-streaks{opacity:.72}
  .sponsor-board{padding-bottom:36px}
  .sponsor-shell{width:calc(100% - 28px)}
  .sponsor-head{padding:14px 15px 0}
  .sponsor-slide{
    grid-template-columns:1fr;
    gap:13px;
    padding:18px 15px 28px;
  }
  .sponsor-logo-box{
    height:58px;
    width:118px;
  }
  .sponsor-slide .sponsor-button{grid-column:auto;justify-self:start}
  .sponsor-copy h3{font-size:21px}
}


/* =====================================================================
   V6 — REFINED WEATHER CONTROLS + CLEANER HERO + STRONGER NOTICES
   ===================================================================== */

/* Remove the two blocks requested by the user */
.hero-metrics{display:none!important}
.hero-bottom{display:none!important}

/* Let the hero breathe after removing metrics/ticker */
.hero-content{padding-bottom:58px!important}
.hero-grid{align-items:center}

/* Subtler weather: softer clouds and very light atmospheric motion */
.weather-clouds{mix-blend-mode:screen}
.cloud-shape{
  opacity:.52!important;
  filter:drop-shadow(0 10px 20px rgba(60,110,140,.07)) blur(.15px)!important;
}
.cloud-shape::after{opacity:.72}
.cloud-c1{top:7%!important;transform:scale(.96)!important;animation-duration:92s!important}
.cloud-c2{top:20%!important;transform:scale(.68)!important;animation-duration:118s!important}
.cloud-c3{top:35%!important;transform:scale(.52)!important;animation-duration:146s!important}
.cloud-c4{top:12%!important;transform:scale(.45)!important;animation-duration:168s!important}

html.weather-partly-cloudy .weather-clouds{opacity:.48!important}
html.weather-cloudy .weather-clouds{opacity:.66!important}
html.weather-overcast .weather-clouds{opacity:.76!important}
html.weather-rain .weather-clouds{opacity:.66!important}
html.weather-storm .weather-clouds{opacity:.72!important}

/* Elegant sunshine — less synthetic, more like a soft morning flare */
.sun-disc{
  width:72px!important;
  top:12%!important;
  left:9%!important;
  opacity:.78;
  filter:blur(.15px) drop-shadow(0 0 25px rgba(255,221,147,.48))!important;
}
.sun-rays{
  opacity:.55;
  filter:blur(3px)!important;
}
.lens-flare{opacity:.32!important}
html.weather-sunny .weather-bg-fixed{
  filter:saturate(1.07) contrast(1.025) brightness(1.035)!important
}

/* Much more delicate rain */
.rain-system{inset:-12% 0 0!important}
.rain-streaks{
  opacity:.32!important;
  background-image:
    repeating-linear-gradient(104deg,
      transparent 0 34px,
      rgba(220,237,246,0) 34px 48px,
      rgba(220,237,246,.28) 49px 50px,
      transparent 51px 82px)!important;
  background-size:104px 180px!important;
  animation-duration:1.05s!important;
  filter:blur(.25px)!important;
}
.rain-streaks.far{
  opacity:.18!important;
  background-size:140px 230px!important;
  animation-duration:1.55s!important;
}
html.weather-rain .weather-tone{
  background:linear-gradient(rgba(46,66,80,.12),rgba(36,57,72,.20))!important;
}
html.weather-rain .weather-bg-fixed{
  filter:saturate(.78) contrast(.97) brightness(.78)!important;
}

/* Refined fog */
.fog-bank{
  filter:blur(28px)!important;
  opacity:.52!important;
}
html.weather-fog .fog-system{opacity:.70!important}

/* Wind-only visual: subtle flowing streaks */
.wind-system{
  position:absolute;
  inset:0;
  opacity:0;
  overflow:hidden;
  transition:opacity .8s ease;
}
.wind-line{
  position:absolute;
  left:-18%;
  width:280px;
  height:1px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(235,249,255,.52),transparent);
  filter:blur(.2px);
  animation:windFlow 5.8s linear infinite;
}
.wind-line:nth-child(1){top:22%;animation-delay:0s}
.wind-line:nth-child(2){top:36%;width:210px;animation-delay:1.4s;animation-duration:7.3s}
.wind-line:nth-child(3){top:49%;width:330px;animation-delay:2.3s;animation-duration:6.6s}
.wind-line:nth-child(4){top:62%;width:185px;animation-delay:3.1s;animation-duration:8.5s}
.wind-line:nth-child(5){top:74%;width:260px;animation-delay:4.2s;animation-duration:7.8s}
@keyframes windFlow{
  0%{transform:translateX(0) skewX(-18deg);opacity:0}
  12%{opacity:.52}
  78%{opacity:.30}
  100%{transform:translateX(calc(100vw + 500px)) skewX(-18deg);opacity:0}
}
html.weather-wind .wind-system{opacity:.72}
html.weather-wind .weather-clouds{opacity:.30!important}
html.weather-wind .weather-bg-fixed{filter:saturate(1.02) contrast(1.02) brightness(1.01)!important}

/* Weather control panel */
.weather-console{
  position:absolute;
  z-index:7;
  top:116px;
  left:max(26px,calc((100vw - 1240px)/2));
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(5,24,42,.34);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 12px 30px rgba(0,13,25,.10);
}
.weather-current{
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 6px;
  color:#fff;
}
.weather-current .w-icon{font-size:15px}
.weather-current strong{display:block;font-size:9px;line-height:1.2}
.weather-current small{display:block;margin-top:2px;color:rgba(255,255,255,.52);font-size:7px}
.weather-current .w-temp{font-size:12px;font-weight:800;margin-left:2px}
.weather-presets{
  display:flex;
  gap:4px;
  padding-left:6px;
  border-left:1px solid rgba(255,255,255,.10);
}
.weather-preset{
  min-width:34px;
  height:31px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:9px;
  color:rgba(255,255,255,.72);
  background:transparent;
  cursor:pointer;
  font-size:14px;
  transition:.2s ease;
}
.weather-preset:hover{background:rgba(255,255,255,.08);color:#fff}
.weather-preset.active{
  background:#fff;
  color:var(--navy);
  box-shadow:0 5px 16px rgba(0,0,0,.10);
}
.weather-preset.auto{
  width:auto;
  padding:0 9px;
  font-size:8px;
  font-weight:800;
  letter-spacing:.05em;
}

/* Old live weather badge hidden; the data is surfaced inside the new console */
.weather-live{display:none!important}

/* Notice quick-link in hero: highlight it strongly */
.quick-links .quick-link:first-child{
  border-color:rgba(246,196,103,.34)!important;
  background:linear-gradient(135deg,rgba(240,184,79,.15),rgba(255,255,255,.07))!important;
  box-shadow:inset 0 0 0 1px rgba(255,222,158,.05),0 10px 30px rgba(0,0,0,.08);
}
.quick-links .quick-link:first-child .quick-icon{
  background:linear-gradient(135deg,#f6d28c,#dba94d)!important;
  color:#173047;
  box-shadow:0 8px 20px rgba(222,170,77,.22);
}
.quick-links .quick-link:first-child b{
  color:#fff9eb;
}
.quick-links .quick-link:first-child::after{
  content:"MỚI";
  font-size:7px;
  font-weight:900;
  letter-spacing:.10em;
  padding:4px 6px;
  border-radius:999px;
  color:#714c11;
  background:#ffe8b4;
}

/* Much more prominent notice center */
.notice-center{
  margin-top:-52px!important;
  padding-bottom:50px!important;
  position:relative;
  z-index:12;
}
.notice-shell{
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr)!important;
  gap:18px!important;
}
.notice-main{
  min-height:214px;
  padding:28px 30px 28px 33px!important;
  border-radius:28px!important;
  border:1px solid rgba(14,73,101,.13)!important;
  box-shadow:0 30px 82px rgba(5,31,52,.18)!important;
}
.notice-main::before{
  width:6px!important;
  background:linear-gradient(180deg,#f1c36f,#d5a444 42%,#0c87b3)!important;
}
.notice-main::after{
  content:"🔔";
  position:absolute;
  right:24px;
  top:22px;
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:18px;
  font-size:23px;
  background:linear-gradient(135deg,#fff8e9,#f7dfae);
  box-shadow:0 12px 28px rgba(212,169,87,.18);
}
.notice-topline{margin-bottom:16px!important}
.new-badge{
  padding:8px 12px!important;
  font-size:9px!important;
  background:#fff2d9!important;
}
.notice-main h2{
  max-width:82%;
  font-size:clamp(27px,2.7vw,38px)!important;
  margin-bottom:11px!important;
}
.notice-main p{
  max-width:84%;
  font-size:13px!important;
  line-height:1.78!important;
}
.notice-action{
  margin-top:17px!important;
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  padding:10px 13px;
  border-radius:11px;
  background:#eef8fb;
  color:#0b7497!important;
}
.notice-list{
  border-radius:28px!important;
  padding:16px!important;
}
.notice-list-title{
  font-size:10px!important;
  color:#b5e7f0!important;
  padding:6px 8px 12px!important;
}
.notice-row{
  padding:14px 9px!important;
  border-radius:13px;
  transition:.2s ease;
}
.notice-row:hover{
  background:rgba(255,255,255,.07);
  transform:translateX(2px);
}
.notice-row strong{font-size:12px!important}
.notice-row small{font-size:9px!important}

/* Optional floating notice shortcut for easy access */
.notice-fab{
  position:fixed;
  right:20px;
  bottom:22px;
  z-index:70;
  display:flex;
  align-items:center;
  gap:9px;
  padding:11px 14px 11px 11px;
  border-radius:999px;
  color:#173047;
  background:linear-gradient(135deg,#fff9ed,#f2cf8c);
  border:1px solid rgba(204,157,75,.24);
  box-shadow:0 16px 40px rgba(4,25,45,.20);
  font-size:10px;
  font-weight:800;
  cursor:pointer;
  transition:.25s ease;
}
.notice-fab:hover{transform:translateY(-2px)}
.notice-fab .bell{
  width:31px;height:31px;border-radius:50%;
  display:grid;place-items:center;
  background:#fff;
  box-shadow:0 6px 16px rgba(0,0,0,.08);
  font-size:14px;
}
.notice-fab .count{
  position:absolute;
  top:-3px;left:28px;
  min-width:18px;height:18px;padding:0 5px;
  border-radius:999px;
  display:grid;place-items:center;
  background:#d86145;color:#fff;
  font-size:8px;font-weight:900;
  border:2px solid #fff4dc;
}

/* Weather console responsive */
@media(max-width:980px){
  .weather-console{top:96px;left:20px}
}
@media(max-width:720px){
  .hero-content{padding-top:142px!important}
  .weather-console{
    top:80px;
    left:14px;
    right:14px;
    width:auto;
    justify-content:space-between;
    gap:5px;
    padding:6px;
  }
  .weather-current{padding-left:4px}
  .weather-current small{display:none}
  .weather-presets{gap:2px;padding-left:4px}
  .weather-preset{min-width:30px;height:29px;font-size:13px}
  .weather-preset.auto{padding:0 7px;font-size:7px}
  .notice-center{margin-top:-24px!important;padding-bottom:32px!important}
  .notice-shell{grid-template-columns:1fr!important}
  .notice-main{min-height:0;padding:22px 20px 22px 24px!important}
  .notice-main::after{right:16px;top:16px;width:43px;height:43px;border-radius:14px;font-size:18px}
  .notice-main h2,.notice-main p{max-width:100%}
  .notice-main h2{padding-right:45px;font-size:25px!important}
  .notice-fab{right:13px;bottom:15px;padding:8px 11px 8px 8px}
  .notice-fab .bell{width:28px;height:28px}
}


/* =====================================================================
   V7 — MORE REALISTIC WEATHER + RETURN OF IMPORTANT NOTICE STRIP
   ===================================================================== */

/* Real cloud textures from the actual sky image */
.weather-clouds {
  mix-blend-mode:screen;
  opacity:0;
}
.weather-clouds::before,
.weather-clouds::after {
  content:"";
  position:absolute;
  left:-40%;
  width:185%;
  background-repeat:repeat-x;
  background-size:auto 100%;
  pointer-events:none;
}
.weather-clouds::before {
  top:3%;
  height:34%;
  background-image:url('../images/cloud-base.png');
  opacity:.58;
  filter:contrast(1.02) brightness(1.03);
  animation:cloudRealA 110s linear infinite;
}
.weather-clouds::after {
  top:17%;
  height:28%;
  background-image:url('../images/cloud-detail.png');
  opacity:.35;
  filter:contrast(1.03) brightness(1.02) blur(.15px);
  animation:cloudRealB 150s linear infinite reverse;
}
@keyframes cloudRealA {
  from { transform:translate3d(0,0,0); }
  to { transform:translate3d(18%,0,0); }
}
@keyframes cloudRealB {
  from { transform:translate3d(-8%,0,0); }
  to { transform:translate3d(12%,0,0); }
}
.cloud-shape{display:none!important} /* remove fake-tran cloud blobs completely */

html.weather-sunny .weather-clouds{opacity:.22!important}
html.weather-partly-cloudy .weather-clouds{opacity:.56!important}
html.weather-cloudy .weather-clouds{opacity:.72!important}
html.weather-overcast .weather-clouds{opacity:.84!important}
html.weather-rain .weather-clouds{opacity:.70!important}
html.weather-fog .weather-clouds{opacity:.22!important}
html.weather-storm .weather-clouds{opacity:.80!important}
html.weather-wind .weather-clouds{opacity:.38!important}

/* Sun refined again */
.sun-disc{
  width:66px!important;
  top:11%!important;
  left:10%!important;
  opacity:.74;
  background:radial-gradient(circle,#fffef5 0 22%,#ffe8ad 45%,rgba(255,222,130,.38) 67%,transparent 73%)!important;
  filter:blur(.1px) drop-shadow(0 0 22px rgba(255,224,145,.46))!important;
}
.sun-rays{
  opacity:.34!important;
  filter:blur(5px)!important;
}
.lens-flare{opacity:.20!important}

/* Rain textures from generated streak maps rather than repeated lines */
.rain-system{inset:-12% -8% 0!important}
.rain-streaks{
  background-image:url('../images/rain-near.png')!important;
  background-repeat:repeat!important;
  background-size:560px auto!important;
  animation:rainMap 1.9s linear infinite!important;
  opacity:.46!important;
  transform:skewX(-11deg);
  filter:blur(.12px)!important;
}
.rain-streaks.far{
  background-image:url('../images/rain-far.png')!important;
  background-size:720px auto!important;
  opacity:.22!important;
  animation-duration:2.6s!important;
  filter:blur(.34px)!important;
}
@keyframes rainMap{
  from{background-position:0 -120px}
  to{background-position:-42px 160px}
}
html.weather-rain .weather-tone{
  background:linear-gradient(rgba(42,61,76,.10),rgba(38,56,69,.18))!important;
}
html.weather-rain .weather-bg-fixed{
  filter:saturate(.82) contrast(.98) brightness(.80)!important;
}
html.weather-storm .rain-streaks{opacity:.52!important}
html.weather-storm .rain-streaks.far{opacity:.26!important}

/* keep fog soft and natural */
.fog-bank{opacity:.40!important;filter:blur(34px)!important}
html.weather-fog .fog-system{opacity:.78!important}

/* Notice strip restored, below notice center, but more premium */
.notice-line-wrap{
  padding:0 0 42px;
  position:relative;
  z-index:11;
}
.notice-line{
  width:min(1180px,calc(100% - 40px));
  margin:auto;
  display:flex;
  align-items:center;
  gap:16px;
  min-height:58px;
  padding:0 18px 0 0;
  overflow:hidden;
  border-radius:18px;
  background:
    linear-gradient(90deg,rgba(6,24,42,.96),rgba(10,41,63,.88)),
    linear-gradient(90deg,rgba(0,0,0,.15),rgba(0,0,0,.0));
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 18px 50px rgba(5,28,49,.14);
}
.notice-line-label{
  flex:0 0 auto;
  align-self:stretch;
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 18px;
  color:#f0d7a8;
  background:linear-gradient(90deg,rgba(240,179,73,.15),rgba(240,179,73,.04));
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.notice-line-label::before{
  content:"";
  width:8px;height:8px;border-radius:50%;
  background:#f0bf67;
  box-shadow:0 0 0 7px rgba(240,191,103,.10);
  animation:noticeGlow 2.2s ease-in-out infinite;
}
@keyframes noticeGlow{
  0%,100%{transform:scale(.95);box-shadow:0 0 0 5px rgba(240,191,103,.08)}
  50%{transform:scale(1.08);box-shadow:0 0 0 9px rgba(240,191,103,.02)}
}
.notice-line-track{
  flex:1 1 auto;
  display:flex;
  align-items:center;
  gap:26px;
  min-width:0;
  color:rgba(255,255,255,.84);
  font-size:12px;
  font-weight:500;
  white-space:nowrap;
  animation:noticeTicker 26s linear infinite;
}
.notice-line-track span{display:inline-flex;align-items:center;gap:9px}
.notice-line-track span::before{
  content:"•";
  color:#78c2d6;
  font-size:14px;
}
@keyframes noticeTicker{
  from{transform:translateX(0)}
  to{transform:translateX(-35%)}
}
.notice-line-cta{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:9px 13px;
  margin-right:10px;
  border-radius:11px;
  color:#fff;
  background:rgba(255,255,255,.08);
  font-size:10px;
  font-weight:800;
}
.notice-line-cta:hover{background:rgba(255,255,255,.12)}

/* quick-link and main notice remain strong but not overpowering */
.notice-main{
  box-shadow:0 26px 76px rgba(5,31,52,.16)!important;
}
.notice-main::after{
  opacity:.96;
}
.quick-links .quick-link:first-child{
  background:linear-gradient(135deg,rgba(236,184,84,.13),rgba(255,255,255,.06))!important;
}
.quick-links .quick-link:first-child::after{
  content:"MỚI";
  font-size:7px;
  font-weight:900;
  letter-spacing:.10em;
  padding:4px 6px;
  border-radius:999px;
  color:#714c11;
  background:#ffe8b4;
}

@media(max-width:720px){
  .notice-line-wrap{padding-bottom:28px}
  .notice-line{
    width:calc(100% - 28px);
    min-height:50px;
    gap:10px;
    padding-right:8px;
    border-radius:15px;
  }
  .notice-line-label{
    padding:0 12px;
    font-size:8px;
    letter-spacing:.11em;
  }
  .notice-line-track{
    font-size:10px;
    gap:20px;
  }
  .notice-line-cta{
    padding:7px 9px;
    font-size:8px;
  }
}


/* =====================================================================
   V8 — HERO NOTICE TICKER + WIND LEAVES
   ===================================================================== */

/* Make room for the bottom notice line directly on the hero */
.hero-content{
  padding-bottom:88px!important;
}

/* Restore the notice line inside the hero, but keep it subtle and premium */
.hero-bottom{
  display:flex!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:14px!important;
  margin:0!important;
  padding:0!important;
  height:54px;
  align-items:center!important;
  gap:0!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:17px!important;
  overflow:hidden!important;
  background:
    linear-gradient(90deg,rgba(5,24,42,.84),rgba(7,31,50,.72)),
    linear-gradient(180deg,rgba(255,255,255,.035),transparent)!important;
  backdrop-filter:blur(15px) saturate(125%);
  -webkit-backdrop-filter:blur(15px) saturate(125%);
  box-shadow:0 16px 42px rgba(0,15,28,.14);
  z-index:7;
}

.hero-bottom .lb{
  align-self:stretch;
  flex:0 0 auto;
  display:flex!important;
  align-items:center;
  gap:9px;
  padding:0 17px!important;
  color:#f1d5a0!important;
  background:linear-gradient(90deg,rgba(219,168,73,.15),rgba(219,168,73,.03));
  border-right:1px solid rgba(255,255,255,.07);
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.15em!important;
  text-transform:uppercase;
  white-space:nowrap;
  grid-column:auto!important;
}
.hero-bottom .lb::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#efbc61;
  box-shadow:0 0 0 5px rgba(239,188,97,.10);
  animation:heroNoticePulse 2.4s ease-in-out infinite;
}
@keyframes heroNoticePulse{
  0%,100%{transform:scale(.94);box-shadow:0 0 0 4px rgba(239,188,97,.08)}
  50%{transform:scale(1.08);box-shadow:0 0 0 8px rgba(239,188,97,.02)}
}

/* Real continuous ticker: two identical groups, so the loop never jumps */
.hero-news-marquee{
  position:relative;
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  height:100%;
  display:flex;
  align-items:center;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%);
}
.hero-news-marquee-inner{
  display:flex;
  align-items:center;
  width:max-content;
  min-width:max-content;
  animation:heroNewsMarquee var(--ticker-speed,22s) linear infinite;
  will-change:transform;
}
.hero-news-group{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:25px;
  padding-right:25px;
  white-space:nowrap;
}
.hero-news-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,.86);
  font-size:11px;
  font-weight:500;
  transition:color .2s ease;
}
.hero-news-item:hover{color:#fff}
.hero-news-item::before{
  content:"•";
  color:#78c9dc;
  font-size:14px;
  line-height:1;
}
.hero-news-item.important::before{
  content:"NEW";
  padding:3px 5px;
  border-radius:6px;
  background:rgba(236,185,85,.14);
  color:#efc573;
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
}
@keyframes heroNewsMarquee{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
.hero-news-marquee:hover .hero-news-marquee-inner{
  animation-play-state:paused;
}

/* Hero slider JS controls remain in DOM but are not visually shown */
.hero-slider-compat{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Hide the old duplicated notice line below hero */
.notice-line-wrap{display:none!important}

/* Remove the floating notification button on the right */
.notice-fab{display:none!important}

/* ================= WIND LEAVES ================= */
.wind-leaves{
  position:absolute;
  inset:0;
  z-index:2;
  opacity:0;
  overflow:hidden;
  transition:opacity .6s ease;
  pointer-events:none;
}
html.weather-wind .wind-leaves{opacity:1}

.leaf{
  --leaf-size:12px;
  --leaf-color:#55733d;
  position:absolute;
  left:-9%;
  width:var(--leaf-size);
  height:calc(var(--leaf-size) * .62);
  border-radius:100% 0 100% 0;
  background:
    linear-gradient(135deg,
      rgba(255,255,255,.14) 0 18%,
      var(--leaf-color) 20% 72%,
      rgba(43,70,35,.88) 100%);
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.10));
  opacity:.84;
  transform-origin:center;
}
.leaf::after{
  content:"";
  position:absolute;
  left:48%;
  top:8%;
  width:1px;
  height:84%;
  background:rgba(225,235,201,.40);
  transform:rotate(37deg);
  transform-origin:center;
}
.leaf.l1{top:29%;--leaf-size:13px;--leaf-color:#587844;animation:leafWind1 7.8s linear infinite}
.leaf.l2{top:42%;--leaf-size:9px;--leaf-color:#77904d;animation:leafWind2 9.4s linear infinite 1.1s}
.leaf.l3{top:55%;--leaf-size:15px;--leaf-color:#496a3d;animation:leafWind3 8.8s linear infinite 2.5s}
.leaf.l4{top:67%;--leaf-size:10px;--leaf-color:#8b7840;animation:leafWind1 10.6s linear infinite 4s}
.leaf.l5{top:35%;--leaf-size:8px;--leaf-color:#6e8c4b;animation:leafWind2 11.5s linear infinite 5.4s}
.leaf.l6{top:76%;--leaf-size:14px;--leaf-color:#5f7040;animation:leafWind3 9.7s linear infinite 6.6s}
.leaf.l7{top:49%;--leaf-size:11px;--leaf-color:#927845;animation:leafWind1 12.2s linear infinite 7.7s}
.leaf.l8{top:61%;--leaf-size:7px;--leaf-color:#6c8745;animation:leafWind2 8.9s linear infinite 3.3s}

@keyframes leafWind1{
  0%{transform:translate3d(0,0,0) rotate(0deg) scale(.82);opacity:0}
  7%{opacity:.72}
  28%{transform:translate3d(28vw,-14px,0) rotate(150deg) scale(.95)}
  58%{transform:translate3d(64vw,18px,0) rotate(330deg) scale(.82)}
  82%{opacity:.68}
  100%{transform:translate3d(118vw,-7px,0) rotate(590deg) scale(.74);opacity:0}
}
@keyframes leafWind2{
  0%{transform:translate3d(0,0,0) rotate(35deg) scale(.72);opacity:0}
  8%{opacity:.60}
  35%{transform:translate3d(37vw,22px,0) rotate(-170deg) scale(.88)}
  70%{transform:translate3d(78vw,-20px,0) rotate(-405deg) scale(.70)}
  100%{transform:translate3d(119vw,9px,0) rotate(-620deg) scale(.62);opacity:0}
}
@keyframes leafWind3{
  0%{transform:translate3d(0,0,0) rotate(-20deg) scale(.85);opacity:0}
  9%{opacity:.78}
  31%{transform:translate3d(31vw,-25px,0) rotate(190deg) scale(1)}
  63%{transform:translate3d(69vw,10px,0) rotate(420deg) scale(.86)}
  100%{transform:translate3d(121vw,-18px,0) rotate(690deg) scale(.68);opacity:0}
}

/* Wind feels stronger when leaves appear, but remains elegant */
html.weather-wind .wind-system{opacity:.52!important}
html.weather-wind .weather-clouds::before{animation-duration:72s!important}
html.weather-wind .weather-clouds::after{animation-duration:96s!important}

@media(max-width:720px){
  .hero-content{padding-bottom:76px!important}
  .hero-bottom{
    left:0!important;
    right:0!important;
    bottom:9px!important;
    height:48px;
    border-radius:14px!important;
  }
  .hero-bottom .lb{
    padding:0 10px!important;
    font-size:7px!important;
    letter-spacing:.11em!important;
  }
  .hero-news-item{
    font-size:9px;
  }
  .hero-news-group{
    gap:19px;
    padding-right:19px;
  }
  .hero-news-marquee-inner{
    animation-duration:26s;
  }
  .leaf.l1,.leaf.l4,.leaf.l7{display:none}
}


/* =====================================================================
   V10 — WEATHER EFFECTS ONLY
   Layout intentionally unchanged from V8.
   ===================================================================== */

/* Particle canvas sits above background and below hero content. */
.weather-particle-canvas{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  pointer-events:none;
}

/* ---------- SUN: realistic time-positioned glow ---------- */
.sun-system{
  --sun-x:18%;
  --sun-y:16%;
  --sun-strength:.72;
}
.sun-disc{
  left:var(--sun-x)!important;
  top:var(--sun-y)!important;
  width:62px!important;
  opacity:calc(.68 * var(--sun-strength))!important;
  background:
    radial-gradient(circle,
      rgba(255,255,247,.98) 0 16%,
      rgba(255,239,188,.90) 29%,
      rgba(255,220,135,.48) 49%,
      rgba(255,213,116,.14) 67%,
      transparent 73%)!important;
  box-shadow:
    0 0 28px rgba(255,224,150,.32),
    0 0 76px rgba(255,221,139,.18)!important;
  filter:blur(.2px)!important;
  animation:sunBreath 7s ease-in-out infinite!important;
}
.sun-disc::after{
  content:"";
  position:absolute;
  inset:-125%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,232,167,.11),rgba(255,226,149,.03) 48%,transparent 70%);
}
@keyframes sunBreath{
  0%,100%{transform:scale(.98)}
  50%{transform:scale(1.035)}
}
.sun-rays{
  left:calc(var(--sun-x) - 34%)!important;
  top:calc(var(--sun-y) - 38%)!important;
  width:76vw!important;
  height:115vh!important;
  opacity:calc(.32 * var(--sun-strength))!important;
  background:
    linear-gradient(101deg,transparent 39%,rgba(255,246,209,.12) 42%,transparent 46%),
    linear-gradient(108deg,transparent 47%,rgba(255,246,211,.085) 50%,transparent 54%),
    linear-gradient(115deg,transparent 54%,rgba(255,248,220,.065) 57%,transparent 61%)!important;
  filter:blur(6px)!important;
}
.lens-flare{
  left:calc(var(--sun-x) + 10%)!important;
  top:calc(var(--sun-y) + 24%)!important;
  opacity:calc(.18 * var(--sun-strength))!important;
  transform:scale(.85);
}

/* Warmer daylight, but never enough to wash out the building */
html.weather-sunny .weather-bg-fixed{
  filter:saturate(1.07) contrast(1.025) brightness(1.025)!important;
}
html.weather-sunny .weather-tone{
  opacity:1!important;
  background:
    linear-gradient(180deg,rgba(255,224,158,.045),rgba(255,236,194,.018) 35%,transparent 68%)!important;
}

/* ---------- CLOUDS: real sky texture, slower and lighter ---------- */
.weather-clouds::before{
  opacity:.46!important;
  animation-duration:132s!important;
  filter:contrast(1.015) brightness(1.025) blur(.12px)!important;
}
.weather-clouds::after{
  opacity:.27!important;
  animation-duration:176s!important;
  filter:contrast(1.02) brightness(1.015) blur(.25px)!important;
}
html.weather-sunny .weather-clouds{opacity:.16!important}
html.weather-partly-cloudy .weather-clouds{opacity:.48!important}
html.weather-cloudy .weather-clouds{opacity:.67!important}
html.weather-overcast .weather-clouds{opacity:.78!important}
html.weather-rain .weather-clouds{opacity:.64!important}
html.weather-storm .weather-clouds{opacity:.73!important}
html.weather-wind .weather-clouds{opacity:.34!important}

/* ---------- RAIN: old tiled CSS rain is disabled.
   Canvas handles the visible rainfall naturally. ---------- */
.rain-streaks{display:none!important}
.rain-system{opacity:0!important}

/* Rain scene should darken very gently */
html.weather-rain .weather-bg-fixed{
  filter:saturate(.82) contrast(.985) brightness(.82)!important;
}
html.weather-rain .weather-tone{
  opacity:1!important;
  background:
    linear-gradient(180deg,rgba(37,54,70,.10),rgba(35,52,67,.16))!important;
}
html.weather-storm .weather-bg-fixed{
  filter:saturate(.68) contrast(.99) brightness(.67)!important;
}
html.weather-storm .weather-tone{
  opacity:1!important;
  background:linear-gradient(180deg,rgba(24,39,54,.18),rgba(23,39,55,.27))!important;
}

/* ---------- FOG: softer real-world mist ---------- */
.fog-bank{
  opacity:.34!important;
  filter:blur(38px)!important;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(229,237,240,.42) 25%,
    rgba(243,247,248,.54) 52%,
    rgba(225,235,239,.38) 76%,
    transparent
  )!important;
}
html.weather-fog .fog-system{opacity:.68!important}
html.weather-fog .weather-bg-fixed{
  filter:saturate(.74) contrast(.88) brightness(.91)!important;
}

/* ---------- WIND: CSS line effect becomes very subtle.
   Canvas renders organic leaves at irregular intervals. ---------- */
.wind-line{
  opacity:.26!important;
  filter:blur(.5px)!important;
}
html.weather-wind .wind-system{opacity:.38!important}

/* Disable old looping CSS leaves; canvas now produces organic leaves */
.wind-leaves{display:none!important}

/* Slight moving light over the foreground when sunny, very subtle */
.weather-atmosphere::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  background:
    linear-gradient(112deg,
      transparent 15%,
      rgba(255,250,226,.08) 34%,
      rgba(255,250,226,.03) 47%,
      transparent 63%);
  transform:translateX(-25%);
}
html.weather-sunny .weather-atmosphere::after{
  opacity:.50;
  animation:sunSweep 16s ease-in-out infinite alternate;
}
@keyframes sunSweep{
  from{transform:translateX(-28%)}
  to{transform:translateX(11%)}
}

@media(max-width:720px){
  .sun-disc{width:48px!important}
  .sun-rays{width:118vw!important}
  .weather-clouds::before{opacity:.38!important}
  .weather-clouds::after{opacity:.20!important}
}


/* =====================================================================
   V11 — BUG FIX + ADAPTIVE TEXT + STRONGER WEATHER
   IMPORTANT: layout stays the same as V10/V8.
   ===================================================================== */

/* 1) FIX the scroll overlap shown in the screenshot.
      Only spacing/z-index is corrected; section layout is unchanged. */
.notice-center{
  margin-top:0!important;
  padding-top:34px!important;
  position:relative!important;
  z-index:9!important;
  background:linear-gradient(180deg,#f3f7f8 0%,#ffffff 100%)!important;
}
.notice-shell{
  position:relative;
  z-index:2;
}
.notice-main,
.notice-list{
  position:relative;
  z-index:2;
}
.notice-center::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:min(1180px,calc(100% - 40px));
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(12,80,107,.13),transparent);
}

/* Keep the ticker entirely inside the hero and above weather layers */
.hero-bottom{
  z-index:12!important;
}

/* 2) READABILITY changes by weather.
      Sunny / bright weather = dark navy copy.
      Rain / storm / night = white copy. */
html.theme-day.weather-sunny .hero-grid > div:first-child h1,
html.theme-day.weather-partly-cloudy .hero-grid > div:first-child h1,
html.theme-day.weather-cloudy .hero-grid > div:first-child h1,
html.theme-day.weather-wind .hero-grid > div:first-child h1,
html.theme-day.weather-fog .hero-grid > div:first-child h1{
  color:#08283f!important;
  text-shadow:0 2px 18px rgba(255,255,255,.42)!important;
}
html.theme-day.weather-sunny .hero-grid > div:first-child h1 em,
html.theme-day.weather-partly-cloudy .hero-grid > div:first-child h1 em,
html.theme-day.weather-cloudy .hero-grid > div:first-child h1 em,
html.theme-day.weather-wind .hero-grid > div:first-child h1 em,
html.theme-day.weather-fog .hero-grid > div:first-child h1 em{
  color:#087da4!important;
}
html.theme-day.weather-sunny .hero-grid > div:first-child .lead,
html.theme-day.weather-partly-cloudy .hero-grid > div:first-child .lead,
html.theme-day.weather-cloudy .hero-grid > div:first-child .lead,
html.theme-day.weather-wind .hero-grid > div:first-child .lead,
html.theme-day.weather-fog .hero-grid > div:first-child .lead{
  color:rgba(6,39,61,.80)!important;
  text-shadow:0 1px 12px rgba(255,255,255,.35)!important;
}
html.theme-day.weather-sunny .hero-grid > div:first-child .eyebrow,
html.theme-day.weather-partly-cloudy .hero-grid > div:first-child .eyebrow,
html.theme-day.weather-cloudy .hero-grid > div:first-child .eyebrow,
html.theme-day.weather-wind .hero-grid > div:first-child .eyebrow,
html.theme-day.weather-fog .hero-grid > div:first-child .eyebrow{
  color:#0a6683!important;
}
html.theme-day.weather-sunny .hero-grid > div:first-child .eyebrow::before,
html.theme-day.weather-partly-cloudy .hero-grid > div:first-child .eyebrow::before,
html.theme-day.weather-cloudy .hero-grid > div:first-child .eyebrow::before,
html.theme-day.weather-wind .hero-grid > div:first-child .eyebrow::before,
html.theme-day.weather-fog .hero-grid > div:first-child .eyebrow::before{
  background:linear-gradient(90deg,#bd8d42,#0b84ac)!important;
}

/* Bright-weather buttons */
html.theme-day.weather-sunny .hero-grid > div:first-child .btn-light,
html.theme-day.weather-partly-cloudy .hero-grid > div:first-child .btn-light,
html.theme-day.weather-cloudy .hero-grid > div:first-child .btn-light,
html.theme-day.weather-wind .hero-grid > div:first-child .btn-light,
html.theme-day.weather-fog .hero-grid > div:first-child .btn-light{
  color:#fff!important;
  background:linear-gradient(135deg,#082b46,#0a5476)!important;
}
html.theme-day.weather-sunny .hero-grid > div:first-child .btn-outline,
html.theme-day.weather-partly-cloudy .hero-grid > div:first-child .btn-outline,
html.theme-day.weather-cloudy .hero-grid > div:first-child .btn-outline,
html.theme-day.weather-wind .hero-grid > div:first-child .btn-outline,
html.theme-day.weather-fog .hero-grid > div:first-child .btn-outline{
  color:#092f4a!important;
  background:rgba(255,255,255,.56)!important;
  border-color:rgba(8,48,74,.18)!important;
}

/* Dark weather / night */
html.theme-night .hero-grid > div:first-child h1,
html.weather-overcast .hero-grid > div:first-child h1,
html.weather-rain .hero-grid > div:first-child h1,
html.weather-storm .hero-grid > div:first-child h1{
  color:#fff!important;
  text-shadow:0 2px 20px rgba(0,0,0,.22)!important;
}
html.theme-night .hero-grid > div:first-child h1 em,
html.weather-overcast .hero-grid > div:first-child h1 em,
html.weather-rain .hero-grid > div:first-child h1 em,
html.weather-storm .hero-grid > div:first-child h1 em{
  color:#d7f2f8!important;
}
html.theme-night .hero-grid > div:first-child .lead,
html.weather-overcast .hero-grid > div:first-child .lead,
html.weather-rain .hero-grid > div:first-child .lead,
html.weather-storm .hero-grid > div:first-child .lead{
  color:rgba(255,255,255,.82)!important;
}
html.theme-night .hero-grid > div:first-child .eyebrow,
html.weather-overcast .hero-grid > div:first-child .eyebrow,
html.weather-rain .hero-grid > div:first-child .eyebrow,
html.weather-storm .hero-grid > div:first-child .eyebrow{
  color:#e8fbff!important;
}

/* A very local reading veil behind the LEFT copy only.
   It never covers the building on the right. */
.hero-grid > div:first-child{
  position:relative;
  z-index:5;
}
.hero-grid > div:first-child::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-28px;
  top:-26px;
  right:-36px;
  bottom:-26px;
  border-radius:30px;
  pointer-events:none;
  opacity:0;
  transition:opacity .7s ease,background .7s ease;
}
html.theme-day.weather-sunny .hero-grid > div:first-child::before,
html.theme-day.weather-partly-cloudy .hero-grid > div:first-child::before,
html.theme-day.weather-cloudy .hero-grid > div:first-child::before,
html.theme-day.weather-wind .hero-grid > div:first-child::before,
html.theme-day.weather-fog .hero-grid > div:first-child::before{
  opacity:.72;
  background:linear-gradient(90deg,rgba(247,250,249,.86),rgba(247,250,249,.54) 58%,transparent 100%);
}
html.theme-night .hero-grid > div:first-child::before,
html.weather-overcast .hero-grid > div:first-child::before,
html.weather-rain .hero-grid > div:first-child::before,
html.weather-storm .hero-grid > div:first-child::before{
  opacity:.72;
  background:linear-gradient(90deg,rgba(5,22,39,.70),rgba(5,22,39,.38) 58%,transparent 100%);
}

/* Weather console readability follows the scene too */
html.theme-day.weather-sunny .weather-console,
html.theme-day.weather-partly-cloudy .weather-console,
html.theme-day.weather-cloudy .weather-console,
html.theme-day.weather-wind .weather-console,
html.theme-day.weather-fog .weather-console{
  background:rgba(248,251,251,.78)!important;
  border-color:rgba(9,58,87,.12)!important;
}
html.theme-day.weather-sunny .weather-current,
html.theme-day.weather-partly-cloudy .weather-current,
html.theme-day.weather-cloudy .weather-current,
html.theme-day.weather-wind .weather-current,
html.theme-day.weather-fog .weather-current{
  color:#0a2d47!important;
}
html.theme-day.weather-sunny .weather-current small,
html.theme-day.weather-partly-cloudy .weather-current small,
html.theme-day.weather-cloudy .weather-current small,
html.theme-day.weather-wind .weather-current small,
html.theme-day.weather-fog .weather-current small{
  color:rgba(8,42,66,.55)!important;
}
html.theme-day.weather-sunny .weather-preset,
html.theme-day.weather-partly-cloudy .weather-preset,
html.theme-day.weather-cloudy .weather-preset,
html.theme-day.weather-wind .weather-preset,
html.theme-day.weather-fog .weather-preset{
  color:rgba(8,45,70,.68)!important;
}
html.theme-day.weather-sunny .weather-preset.active,
html.theme-day.weather-partly-cloudy .weather-preset.active,
html.theme-day.weather-cloudy .weather-preset.active,
html.theme-day.weather-wind .weather-preset.active,
html.theme-day.weather-fog .weather-preset.active{
  color:#fff!important;
  background:#0a3654!important;
}

/* 3) WEATHER BEHAVIOR requested:
      SUNNY = visible moving clouds
      WIND = clouds + organic leaves
      RAIN = heavy rain + thunder/lightning
      NIGHT = moon + stars + multiple shooting stars */

/* Sunny still has clouds clearly visible, but not fake/dense */
html.weather-sunny .weather-clouds{
  opacity:.31!important;
}
html.weather-sunny .weather-clouds::before{
  opacity:.52!important;
}
html.weather-sunny .weather-clouds::after{
  opacity:.28!important;
}

/* Wind: cloud movement is faster than normal */
html.weather-wind .weather-clouds{
  opacity:.52!important;
}
html.weather-wind .weather-clouds::before{
  animation-duration:78s!important;
  opacity:.56!important;
}
html.weather-wind .weather-clouds::after{
  animation-duration:104s!important;
  opacity:.31!important;
}
html.weather-wind .wind-system{
  opacity:.46!important;
}

/* Rain means real storm-like atmosphere as requested */
html.weather-rain .weather-bg-fixed{
  filter:saturate(.72) contrast(.99) brightness(.69)!important;
}
html.weather-rain .weather-clouds{
  opacity:.82!important;
}
html.weather-rain .weather-tone{
  opacity:1!important;
  background:linear-gradient(180deg,rgba(24,40,55,.17),rgba(22,39,55,.28))!important;
}
html.weather-rain .lightning{
  animation:rainLightning 10.5s steps(1,end) infinite!important;
}
@keyframes rainLightning{
  0%,61%,64%,68%,85%,88%,100%{background:rgba(212,232,255,0)}
  62%{background:rgba(218,235,255,.18)}
  63%{background:rgba(218,235,255,.04)}
  65%{background:rgba(222,238,255,.28)}
  66%{background:rgba(222,238,255,.05)}
  86%{background:rgba(215,234,255,.14)}
  87%{background:rgba(215,234,255,.02)}
}
html.weather-rain .weather-particle-canvas{
  filter:drop-shadow(0 0 1px rgba(225,241,250,.10));
}

/* Existing storm remains even more dramatic */
html.weather-storm .lightning{
  animation:lightningFlash 7.4s steps(1,end) infinite!important;
}

/* Night sky — slightly richer but still elegant */
html.theme-night .night-sky{
  opacity:1!important;
  visibility:visible!important;
}
html.theme-night .stars{
  opacity:.92;
}
html.theme-night.weather-cloudy .night-sky{opacity:.58!important}
html.theme-night.weather-overcast .night-sky{opacity:.30!important}
html.theme-night.weather-rain .night-sky{opacity:.18!important}
html.theme-night.weather-storm .night-sky{opacity:.13!important}
html.theme-night.weather-fog .night-sky{opacity:.22!important}

html.theme-night .moon{
  opacity:.92;
  filter:drop-shadow(0 0 10px rgba(215,232,246,.15));
}
html.theme-night.weather-rain .moon,
html.theme-night.weather-storm .moon,
html.theme-night.weather-overcast .moon{
  opacity:.28!important;
}

/* Second shooting star */
.shooting-star-2{
  top:36%!important;
  left:43%!important;
  width:74px!important;
  animation:shootingStarTwo 15s ease-in-out infinite!important;
  animation-delay:7s!important;
  transform:rotate(-18deg)!important;
}
@keyframes shootingStarTwo{
  0%,78%,100%{opacity:0;transform:translate3d(0,0,0) rotate(-18deg) scaleX(.48)}
  80%{opacity:.78}
  86%{opacity:0;transform:translate3d(190px,62px,0) rotate(-18deg) scaleX(1.05)}
}

/* Mobile: fix overlap there too */
@media(max-width:720px){
  .notice-center{
    margin-top:0!important;
    padding-top:24px!important;
  }
  .notice-center::before{
    width:calc(100% - 28px);
  }
  .hero-grid > div:first-child::before{
    left:-14px;
    right:-14px;
    top:-16px;
    bottom:-16px;
    border-radius:22px;
  }
}


/* =====================================================================
   V12 — THREE.JS 3D CLOUDS
   Layout is unchanged. Only weather rendering/readability is adjusted.
   ===================================================================== */

/* Remove the blurred/translucent panel behind hero text completely. */
.hero-grid > div:first-child::before{
  display:none!important;
  content:none!important;
}

/* No extra large background veil behind the copy. Text color alone adapts. */
.hero::after{
  display:none!important;
  content:none!important;
}

/* Existing 2D cloud texture remains as fallback only. */
.weather-clouds{
  transition:opacity .5s ease;
}
html.three-clouds-ready .weather-clouds{
  opacity:0!important;
}

/* Three.js transparent WebGL layer */
.three-weather-clouds{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
  opacity:0;
  transition:opacity .8s ease;
}
html.three-clouds-ready .three-weather-clouds{
  opacity:1;
}
.three-weather-clouds canvas{
  position:absolute;
  inset:0;
  width:100%!important;
  height:100%!important;
  display:block;
  background:transparent!important;
}

/* Keep weather particles above the 3D clouds, below content. */
.weather-particle-canvas{
  z-index:2!important;
}
.night-sky,
.wind-system,
.wind-leaves,
.rain-system,
.fog-system,
.sun-system,
.lightning,
.weather-tone{
  z-index:2;
}

/* Adaptive text colors only — no blurred box */
html.theme-day.weather-sunny .hero-grid > div:first-child h1,
html.theme-day.weather-partly-cloudy .hero-grid > div:first-child h1,
html.theme-day.weather-cloudy .hero-grid > div:first-child h1,
html.theme-day.weather-wind .hero-grid > div:first-child h1,
html.theme-day.weather-fog .hero-grid > div:first-child h1{
  color:#08283f!important;
  text-shadow:0 1px 10px rgba(255,255,255,.30)!important;
}
html.theme-day.weather-sunny .hero-grid > div:first-child h1 em,
html.theme-day.weather-partly-cloudy .hero-grid > div:first-child h1 em,
html.theme-day.weather-cloudy .hero-grid > div:first-child h1 em,
html.theme-day.weather-wind .hero-grid > div:first-child h1 em,
html.theme-day.weather-fog .hero-grid > div:first-child h1 em{
  color:#087da4!important;
}
html.theme-day.weather-sunny .hero-grid > div:first-child .lead,
html.theme-day.weather-partly-cloudy .hero-grid > div:first-child .lead,
html.theme-day.weather-cloudy .hero-grid > div:first-child .lead,
html.theme-day.weather-wind .hero-grid > div:first-child .lead,
html.theme-day.weather-fog .hero-grid > div:first-child .lead{
  color:rgba(6,39,61,.82)!important;
  text-shadow:0 1px 7px rgba(255,255,255,.22)!important;
}
html.theme-day.weather-sunny .hero-grid > div:first-child .eyebrow,
html.theme-day.weather-partly-cloudy .hero-grid > div:first-child .eyebrow,
html.theme-day.weather-cloudy .hero-grid > div:first-child .eyebrow,
html.theme-day.weather-wind .hero-grid > div:first-child .eyebrow,
html.theme-day.weather-fog .hero-grid > div:first-child .eyebrow{
  color:#0a6683!important;
}

/* Night / rain / storm / overcast stay white */
html.theme-night .hero-grid > div:first-child h1,
html.weather-overcast .hero-grid > div:first-child h1,
html.weather-rain .hero-grid > div:first-child h1,
html.weather-storm .hero-grid > div:first-child h1{
  color:#fff!important;
  text-shadow:0 2px 18px rgba(0,0,0,.24)!important;
}
html.theme-night .hero-grid > div:first-child .lead,
html.weather-overcast .hero-grid > div:first-child .lead,
html.weather-rain .hero-grid > div:first-child .lead,
html.weather-storm .hero-grid > div:first-child .lead{
  color:rgba(255,255,255,.84)!important;
  text-shadow:0 1px 10px rgba(0,0,0,.18)!important;
}
html.theme-night .hero-grid > div:first-child .eyebrow,
html.weather-overcast .hero-grid > div:first-child .eyebrow,
html.weather-rain .hero-grid > div:first-child .eyebrow,
html.weather-storm .hero-grid > div:first-child .eyebrow{
  color:#e8fbff!important;
}

/* Ensure the building remains the focal point. */
.weather-bg-fixed{
  transition:filter 1.1s ease!important;
}

/* 3D cloud states */
html.weather-sunny .three-weather-clouds{opacity:.34}
html.weather-partly-cloudy .three-weather-clouds{opacity:.52}
html.weather-cloudy .three-weather-clouds{opacity:.66}
html.weather-overcast .three-weather-clouds{opacity:.76}
html.weather-rain .three-weather-clouds{opacity:.72}
html.weather-storm .three-weather-clouds{opacity:.78}
html.weather-fog .three-weather-clouds{opacity:.23}
html.weather-wind .three-weather-clouds{opacity:.56}

/* Weather controls remain crisp over bright weather. */
html.theme-day.weather-sunny .weather-console,
html.theme-day.weather-partly-cloudy .weather-console,
html.theme-day.weather-cloudy .weather-console,
html.theme-day.weather-wind .weather-console,
html.theme-day.weather-fog .weather-console{
  background:rgba(250,252,252,.86)!important;
  color:#0a2e48!important;
}
html.theme-day.weather-sunny .weather-current,
html.theme-day.weather-partly-cloudy .weather-current,
html.theme-day.weather-cloudy .weather-current,
html.theme-day.weather-wind .weather-current,
html.theme-day.weather-fog .weather-current{
  color:#0a2e48!important;
}

@media(max-width:720px){
  .three-weather-clouds{
    opacity:.88;
  }
}


/* =====================================================================
   V13 — THREE.JS SUN DUST + MOUSE PARALLAX
   Layout is unchanged. Enhances only depth and realism.
   ===================================================================== */

.three-weather-clouds{
  perspective:1200px;
  transform-style:preserve-3d;
}

/* Slightly clearer sunbeams in bright weather so the floating dust is visible */
html.theme-day.weather-sunny .sun-rays,
html.theme-day.weather-partly-cloudy .sun-rays{
  opacity:.42!important;
  filter:blur(5px)!important;
}
html.theme-day.weather-sunny .sun-disc,
html.theme-day.weather-partly-cloudy .sun-disc{
  opacity:.76!important;
}

/* When bright daylight is active, keep clouds visible but elegant */
html.theme-day.weather-sunny .three-weather-clouds{opacity:.40!important}
html.theme-day.weather-partly-cloudy .three-weather-clouds{opacity:.56!important}


/* Laravel integration */
.community-flash{position:fixed;z-index:180;left:50%;top:100px;transform:translateX(-50%);max-width:min(560px,calc(100% - 28px));padding:12px 16px;border-radius:14px;font:600 12px/1.5 var(--font-body);box-shadow:0 18px 50px rgba(0,0,0,.2);animation:communityFlashIn .35s ease both}
.community-flash-success{background:#e7f6ef;color:#155a3f;border:1px solid #bce5d3}
.community-flash-error{background:#fff0ed;color:#8b3528;border:1px solid #f0c7bf}
@keyframes communityFlashIn{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}
.auth-user-chip{display:flex;align-items:center;gap:8px;color:#fff;font-size:11px;font-weight:700;padding:8px 10px;border-radius:11px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.auth-user-chip form{margin:0}
.auth-user-chip button{border:0;background:transparent;color:rgba(255,255,255,.75);cursor:pointer;padding:0}
.resident-status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.resident-status.pending{background:#fff3da;color:#8b621d}.resident-status.verified{background:#e5f6ee;color:#176043}
.account-shell{min-height:100svh;background:linear-gradient(180deg,#071b31,#0d3150);padding:140px 20px 70px;color:#fff}
.account-card{width:min(900px,100%);margin:auto;border-radius:28px;padding:28px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);backdrop-filter:blur(16px);box-shadow:0 28px 90px rgba(0,0,0,.2)}
.account-card h1{font:600 clamp(34px,5vw,56px)/1.05 var(--font-display);margin:0 0 12px}.account-card p{color:rgba(255,255,255,.68);line-height:1.7}
.account-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}.account-item{padding:16px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}.account-item small{display:block;color:rgba(255,255,255,.45);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.account-item strong{display:block;margin-top:6px;font-size:13px}
@media(max-width:720px){.account-grid{grid-template-columns:1fr}.community-flash{top:82px}}


/* V14 cloud artifact fix */
.three-weather-clouds,
.three-weather-clouds canvas{
  background:transparent!important;
}
.three-weather-clouds canvas{
  mix-blend-mode:normal!important;
  filter:none!important;
}


/* =====================================================================
   V15 — CLOUD MOTION ENHANCEMENT
   Make clouds clearer, more visible and more lively.
   ===================================================================== */

/* Keep a very light real-sky cloud texture behind the Three.js sprites
   so the sky feels richer instead of completely flat. */
html.three-clouds-ready .weather-clouds{
  opacity:.10!important;
}
html.three-clouds-ready.weather-sunny .weather-clouds{opacity:.08!important}
html.three-clouds-ready.weather-partly-cloudy .weather-clouds{opacity:.14!important}
html.three-clouds-ready.weather-cloudy .weather-clouds{opacity:.16!important}
html.three-clouds-ready.weather-overcast .weather-clouds{opacity:.18!important}
html.three-clouds-ready.weather-rain .weather-clouds{opacity:.14!important}
html.three-clouds-ready.weather-storm .weather-clouds{opacity:.12!important}
html.three-clouds-ready.weather-wind .weather-clouds{opacity:.12!important}
html.three-clouds-ready.weather-fog .weather-clouds{opacity:.07!important}

/* Three.js cloud layer more present by weather state */
html.weather-sunny .three-weather-clouds{opacity:.48!important}
html.weather-partly-cloudy .three-weather-clouds{opacity:.66!important}
html.weather-cloudy .three-weather-clouds{opacity:.78!important}
html.weather-overcast .three-weather-clouds{opacity:.84!important}
html.weather-rain .three-weather-clouds{opacity:.80!important}
html.weather-storm .three-weather-clouds{opacity:.84!important}
html.weather-fog .three-weather-clouds{opacity:.28!important}
html.weather-wind .three-weather-clouds{opacity:.72!important}

/* Mobile remains visible but not too heavy */
@media(max-width:720px){
  html.weather-sunny .three-weather-clouds{opacity:.54!important}
  html.weather-partly-cloudy .three-weather-clouds{opacity:.70!important}
  html.weather-cloudy .three-weather-clouds{opacity:.80!important}
  html.weather-wind .three-weather-clouds{opacity:.76!important}
}


/* =====================================================================
   V16 — HOVER / DETAIL PAGES / EVENT ALBUM GALLERY
   ===================================================================== */
.desktop-nav a{position:relative;transition:color .22s ease,opacity .22s ease}
.desktop-nav a::after{content:"";position:absolute;left:10%;right:10%;bottom:-8px;height:1px;transform:scaleX(0);background:linear-gradient(90deg,transparent,#d8b56f,transparent);transition:transform .26s ease}
.desktop-nav a:hover::after,.desktop-nav a.active::after{transform:scaleX(1)}
.desktop-nav a:hover{color:#fff}
.card,.quick-link,.tool,.notice-row,.activity-card,.home-album-card,.sponsor-slide,.resident-feature-card,.editorial-card,.album-card{transition:transform .32s cubic-bezier(.2,.7,.2,1),box-shadow .32s ease,border-color .32s ease}
.card:hover,.home-album-card:hover,.editorial-card:hover,.album-card:hover{transform:translateY(-7px);box-shadow:0 24px 58px rgba(6,33,53,.14)}
.quick-link:hover,.tool:hover,.notice-row:hover{transform:translateY(-3px)}
.activity-card{overflow:hidden}
.activity-card::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.11) 48%,transparent 69%);transform:translateX(-130%);transition:transform .8s ease}
.activity-card:hover::before{transform:translateX(130%)}
.activity-card:hover{transform:translateY(-5px) scale(1.012)}
.btn{transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(5,29,47,.12)}

.home-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.home-album-card{border:1px solid rgba(9,65,92,.10);border-radius:23px;overflow:hidden;background:#fff}
.home-album-cover{position:relative;display:block;height:270px;background-size:cover;background-position:center;overflow:hidden}
.home-album-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(4,26,45,.58));transition:.3s ease}
.home-album-card:hover .home-album-cover::after{background:linear-gradient(180deg,rgba(9,68,94,.04),rgba(4,26,45,.70))}
.home-album-cover>span,.home-album-cover>b{position:absolute;z-index:2;bottom:14px}
.home-album-cover>span{left:15px;padding:6px 9px;border-radius:999px;font-size:9px;color:#fff;background:rgba(5,25,42,.52);backdrop-filter:blur(8px)}
.home-album-cover>span i{font-style:normal}
.home-album-cover>b{right:15px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.90);color:#092b43;transition:transform .3s ease}
.home-album-card:hover .home-album-cover>b{transform:rotate(45deg)}
.home-album-info{padding:16px 18px 19px}.home-album-info small{font-size:9px;letter-spacing:.12em;color:#a47a37;font-weight:800}
.home-album-info h3{font-family:"Playfair Display",serif;font-size:20px;margin:6px 0 4px;color:#09243b}.home-album-info h3 a{color:inherit;text-decoration:none}
.home-album-info p{font-size:10px;color:#73838d;margin:0}.gallery-all-link{display:flex;justify-content:center;margin-top:24px}
.fallback-album .home-album-cover{background:linear-gradient(135deg,#0d3c59,#97b8bd)}

.inner-site{background:#f7faf9;color:#102c43}.inner-main{padding-top:96px;min-height:70vh}
.inner-header .header-shell{background:rgba(6,29,48,.90);border-color:rgba(255,255,255,.09);box-shadow:0 15px 40px rgba(0,18,31,.12)}
.inner-header.scrolled .header-shell{background:rgba(5,24,42,.97)}
.inner-header .lang-switch a,.mobile-lang a{display:grid;place-items:center;min-width:31px;height:30px;padding:0 7px;border-radius:8px;color:rgba(255,255,255,.60);text-decoration:none;font-size:9px;font-weight:800}
.inner-header .lang-switch a.active,.mobile-lang a.active{background:#fff;color:#0a2d46}
.inner-hero,.page-heading{position:relative;overflow:hidden;padding:80px 0 62px;background:radial-gradient(circle at 82% 20%,rgba(86,151,166,.15),transparent 32%),linear-gradient(180deg,#edf4f3,#f7faf9)}
.inner-hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:54px;align-items:center}
.inner-hero h1,.page-heading h1,.detail-hero h1,.album-detail-hero h1{margin:10px 0 16px;max-width:820px;font-family:"Playfair Display",serif;font-size:clamp(42px,5.1vw,76px);line-height:.98;letter-spacing:-.035em;color:#08263e}
.inner-hero p,.page-heading p{max-width:700px;color:#647985;line-height:1.8;font-size:13px}
.inner-hero-image{min-height:420px;border-radius:32px;background-size:cover;background-position:center;box-shadow:0 30px 70px rgba(7,42,64,.16);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.inner-hero-image:hover{transform:scale(1.015) rotate(.2deg)}
.inner-content-section{padding:64px 0 84px}.content-prose-wrap,.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:52px;align-items:start}
.content-prose{max-width:900px;font-size:14px;line-height:1.9;color:#405b69}.content-prose h2,.content-prose h3{font-family:"Playfair Display",serif;color:#092a43;line-height:1.15}.content-prose h2{font-size:34px}.content-prose img{max-width:100%;height:auto;border-radius:20px}.content-prose a{color:#087ca5}
.inner-side-card,.related-sidebar{position:sticky;top:120px;padding:22px;border-radius:23px;background:#092d49;box-shadow:0 22px 55px rgba(5,34,55,.16)}
.inner-side-card>span,.related-title{display:block;margin-bottom:11px;color:#89c6d6;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.inner-side-card a{display:flex;align-items:center;justify-content:space-between;padding:14px 0;color:#fff;text-decoration:none;border-top:1px solid rgba(255,255,255,.08);font-size:11px;font-weight:700}.inner-side-card a b{transition:transform .2s ease}.inner-side-card a:hover b{transform:translateX(4px)}
.page-heading{padding-bottom:52px}.page-heading h1{font-size:clamp(46px,5vw,68px)}
.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.editorial-card{overflow:hidden;border-radius:23px;background:#fff;border:1px solid rgba(9,63,91,.09)}
.editorial-image{position:relative;display:block;height:240px;background-size:cover;background-position:center;overflow:hidden}.editorial-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(4,28,48,.50))}
.editorial-image span{position:absolute;z-index:2;left:14px;bottom:14px;padding:6px 9px;border-radius:999px;color:#fff;background:rgba(4,26,44,.56);font-size:9px}
.editorial-body{padding:18px 18px 20px}.editorial-meta{font-size:8px;font-weight:900;letter-spacing:.14em;color:#b28743}.editorial-body h2{font-family:"Playfair Display",serif;font-size:22px;line-height:1.15;margin:8px 0}.editorial-body h2 a{color:#092942;text-decoration:none}.editorial-body p{font-size:11px;line-height:1.7;color:#70818b;min-height:56px}
.simple-pagination{display:flex;align-items:center;justify-content:center;gap:13px;margin-top:34px}.simple-pagination a,.simple-pagination>span:not(.disabled){color:#18374c;text-decoration:none;font-size:10px;font-weight:700}.simple-pagination a,.simple-pagination .disabled{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(8,51,78,.13);background:#fff}.simple-pagination .disabled{opacity:.34}
.detail-hero,.album-detail-hero{position:relative;min-height:520px;display:flex;align-items:flex-end;background-image:linear-gradient(90deg,rgba(4,23,40,.84),rgba(4,23,40,.52) 50%,rgba(4,23,40,.12)),var(--detail-bg);background-size:cover;background-position:center}
.detail-hero-content,.album-detail-hero-content{position:relative;z-index:2;padding-top:95px;padding-bottom:66px;color:#fff}.detail-hero h1,.album-detail-hero h1{color:#fff;max-width:900px}
.detail-back{display:inline-flex;margin-bottom:24px;color:rgba(255,255,255,.76);font-size:10px;text-decoration:none}.detail-back:hover{color:#fff}.detail-meta,.album-detail-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:10px;color:rgba(255,255,255,.70)}
.article-lead{font-size:18px!important;line-height:1.7!important;color:#183f56!important;padding-bottom:20px;border-bottom:1px solid rgba(8,64,91,.10)}
.related-item{display:grid;grid-template-columns:40px 1fr;gap:10px;padding:13px 0;border-top:1px solid rgba(255,255,255,.09);color:#fff;text-decoration:none}.related-item span{color:#87c7d7;font-size:9px}.related-item strong{font-size:10px;line-height:1.45}
.inner-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:23px}.resident-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.resident-feature-card{padding:25px;border-radius:23px;background:#fff;border:1px solid rgba(9,62,89,.08)}.resident-feature-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(5,34,55,.10)}
.feature-icon{width:45px;height:45px;border-radius:14px;display:grid;place-items:center;background:#eaf5f6;color:#0b718e;font-size:17px;margin-bottom:18px}.resident-feature-card h3{font-family:"Playfair Display",serif;font-size:21px;color:#092a43;margin:0 0 8px}.resident-feature-card p{font-size:11px;line-height:1.7;color:#74858f;margin:0}.resident-prose{margin-top:50px}
.gallery-heading-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end}.album-filter{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:28px}.album-filter button{border:1px solid rgba(8,56,83,.12);background:#fff;color:#365366;border-radius:999px;padding:8px 14px;font-size:9px;font-weight:800;cursor:pointer;transition:.2s ease}.album-filter button:hover,.album-filter button.active{background:#0a3553;color:#fff;border-color:#0a3553}
.album-timeline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.album-card{display:grid;grid-template-columns:52% 48%;min-height:310px;overflow:hidden;border-radius:27px;background:#fff;border:1px solid rgba(9,63,91,.08)}.album-card.is-hidden{display:none}
.album-cover{position:relative;display:block;background-size:cover;background-position:center;overflow:hidden}.album-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 46%,rgba(4,27,46,.55))}.album-count{position:absolute;z-index:2;left:14px;bottom:14px;color:#fff;font-size:9px;background:rgba(4,24,41,.50);padding:6px 9px;border-radius:999px}.album-view-icon{position:absolute;z-index:2;right:14px;top:14px;width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#092b43;transition:transform .3s ease}.album-card:hover .album-view-icon{transform:rotate(45deg)}
.album-card-body{display:grid;grid-template-columns:58px 1fr;gap:13px;padding:22px 20px;align-content:center}.album-date{border-right:1px solid rgba(8,62,90,.10);padding-right:12px}.album-date strong{display:block;font-family:"Playfair Display",serif;font-size:30px;color:#0a304a}.album-date span{font-size:8px;color:#8a9aa3;font-weight:800}.album-category{font-size:8px;letter-spacing:.13em;color:#ad8444;font-weight:900;text-transform:uppercase}.album-card-body h2{font-family:"Playfair Display",serif;font-size:23px;line-height:1.14;margin:7px 0 9px}.album-card-body h2 a{color:#092b44;text-decoration:none}.album-card-body p{font-size:9px;color:#7b8b94;margin:0}
.album-detail-hero{--detail-bg:var(--album-cover);background-image:linear-gradient(90deg,rgba(4,23,40,.88),rgba(4,23,40,.48) 58%,rgba(4,23,40,.08)),var(--album-cover)}.album-detail-hero-content p{max-width:700px;color:rgba(255,255,255,.75);line-height:1.75}.album-intro{margin-bottom:48px}
.album-gallery-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:22px}.album-gallery-head h2{font-family:"Playfair Display",serif;font-size:32px;margin:6px 0 0;color:#092a43}.album-gallery-head>span{font-size:9px;color:#8c9aa2}
.masonry-gallery{columns:3 300px;column-gap:13px}.masonry-item{position:relative;display:block;width:100%;margin:0 0 13px;padding:0;border:0;border-radius:18px;overflow:hidden;background:#dbe6e8;cursor:zoom-in;break-inside:avoid}.masonry-item img{display:block;width:100%;height:auto;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .45s ease}.masonry-item:hover img{transform:scale(1.045);filter:saturate(1.06)}.masonry-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:7px;color:#fff;background:rgba(5,36,56,.12);opacity:0;transition:opacity .3s ease}.masonry-item:hover .masonry-overlay{opacity:1}.masonry-overlay b{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.90);color:#082b43;font-size:20px;font-weight:400}.masonry-overlay small{font-size:9px;font-weight:800;text-shadow:0 1px 8px rgba(0,0,0,.3)}
.gallery-lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(2,14,25,.92);opacity:0;visibility:hidden;transition:.25s ease}.gallery-lightbox.open{opacity:1;visibility:visible}.gallery-lightbox figure{width:min(1120px,88vw);height:min(80vh,850px);margin:0;display:flex;flex-direction:column;align-items:center}.gallery-lightbox figure img{max-width:100%;max-height:calc(100% - 54px);object-fit:contain;border-radius:12px}.gallery-lightbox figcaption{width:100%;display:flex;justify-content:space-between;gap:20px;padding-top:14px;color:#fff;font-size:10px}.gallery-lightbox figcaption small{color:rgba(255,255,255,.55)}
.lightbox-close,.lightbox-nav{position:absolute;border:0;color:#fff;background:rgba(255,255,255,.09);cursor:pointer;backdrop-filter:blur(12px);transition:.2s ease}.lightbox-close{top:24px;right:28px;width:42px;height:42px;border-radius:50%;font-size:23px}.lightbox-nav{top:50%;width:47px;height:62px;border-radius:14px;font-size:30px}.lightbox-nav.prev{left:24px}.lightbox-nav.next{right:24px}.lightbox-close:hover,.lightbox-nav:hover{background:rgba(255,255,255,.16);transform:scale(1.04)}
.related-albums{margin-top:66px}.related-album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:14px}.related-album-grid a{min-height:190px;display:flex;align-items:flex-end;padding:17px;border-radius:19px;background-size:cover;background-position:center;color:#fff;text-decoration:none;position:relative;overflow:hidden}.related-album-grid a::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(4,26,44,.66))}.related-album-grid a span{position:relative;z-index:2;font-family:"Playfair Display",serif;font-size:19px}.empty-state{grid-column:1/-1;padding:48px;border:1px dashed rgba(8,56,83,.18);border-radius:22px;text-align:center;color:#78909b}
@media(max-width:980px){.home-album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inner-hero-grid{grid-template-columns:1fr;gap:30px}.inner-hero-image{min-height:360px}.editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-prose-wrap,.detail-layout{grid-template-columns:1fr}.inner-side-card,.related-sidebar{position:static}.resident-feature-grid{grid-template-columns:repeat(2,1fr)}.album-timeline-grid{grid-template-columns:1fr}.gallery-heading-grid{grid-template-columns:1fr;gap:15px}}
@media(max-width:720px){.inner-main{padding-top:76px}.inner-hero,.page-heading{padding:50px 0 38px}.inner-hero h1,.page-heading h1,.detail-hero h1,.album-detail-hero h1{font-size:40px}.inner-hero-image{min-height:280px;border-radius:23px}.inner-content-section{padding:42px 0 58px}.home-album-grid,.editorial-grid,.resident-feature-grid{grid-template-columns:1fr}.home-album-cover{height:245px}.album-card{grid-template-columns:1fr;min-height:0}.album-cover{min-height:245px}.album-card-body{grid-template-columns:52px 1fr}.detail-hero,.album-detail-hero{min-height:480px}.detail-hero-content,.album-detail-hero-content{padding-bottom:45px}.album-gallery-head{display:block}.album-gallery-head>span{display:block;margin-top:8px}.masonry-gallery{columns:2 140px;column-gap:8px}.masonry-item{margin-bottom:8px;border-radius:12px}.lightbox-nav{width:38px;height:54px}.lightbox-nav.prev{left:8px}.lightbox-nav.next{right:8px}.gallery-lightbox figure{width:82vw}.related-album-grid{grid-template-columns:1fr}}


/* Tulip Tower V17 refinements: larger navigation, featured album composition, sticky footer, member interactions */
html,body{min-height:100%}body{min-height:100vh;display:flex;flex-direction:column}body>main,.inner-main{flex:1 0 auto}footer{margin-top:auto}
.desktop-nav a{font-size:14px}
.home-album-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.72fr);grid-template-rows:repeat(3,minmax(150px,1fr));gap:14px}
.home-album-card{min-width:0}.home-album-card.featured-album{grid-row:1/4}.featured-album .home-album-cover{height:100%;min-height:510px}.secondary-album{display:grid;grid-template-columns:42% 1fr;gap:14px;align-items:center}.secondary-album .home-album-cover{height:100%;min-height:150px}.secondary-album .home-album-info{padding:8px 6px}.home-album-cover{overflow:hidden}.home-album-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(4,28,45,.38));opacity:.35;transition:.35s ease}.home-album-card:hover .home-album-cover:after{opacity:.7}.home-album-card:hover .home-album-cover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(7,37,57,.16)}
.member-dashboard-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:24px}.member-panel{padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(255,255,255,.055);backdrop-filter:blur(12px)}.member-panel h2{font-size:24px;margin:7px 0 18px}.member-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.member-form-grid label span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px;color:rgba(255,255,255,.62)}.member-form-grid input,.member-form-grid select,.member-feedback-form input,.member-feedback-form textarea{width:100%;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);color:#fff;border-radius:12px;padding:11px 13px;outline:none}.member-form-grid select option{color:#132d40}.member-form-grid .btn{grid-column:1/-1}.member-service-links{display:grid;gap:8px}.member-service-links a{display:grid;grid-template-columns:32px 1fr 24px;align-items:center;gap:8px;padding:12px;border-radius:13px;background:rgba(255,255,255,.06);color:#fff;transition:.22s ease}.member-service-links a:hover{transform:translateX(4px);background:rgba(255,255,255,.11)}.member-service-links i{font-style:normal;text-align:right}.member-feedback-form{display:grid;gap:9px;margin-top:20px}.member-feedback-form h3{font-size:16px;margin:0 0 2px}
@media(max-width:900px){.home-album-grid{grid-template-columns:1fr;grid-template-rows:auto}.home-album-card.featured-album{grid-row:auto}.featured-album .home-album-cover{min-height:360px}.secondary-album{grid-template-columns:40% 1fr}.member-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:600px){.secondary-album{grid-template-columns:1fr}.secondary-album .home-album-cover{min-height:220px}.member-form-grid{grid-template-columns:1fr}.desktop-nav a{font-size:13px}}


/* V18: activity carousel, upcoming event, attachments, mobile polish */
.upcoming-event-feature{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:18px;margin:0 0 20px;padding:16px 18px;border-radius:18px;text-decoration:none;color:#fff;background:linear-gradient(120deg,#0b3553,#0c5570);box-shadow:0 16px 42px rgba(5,43,66,.16);overflow:hidden;position:relative}
.upcoming-event-feature:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 0,rgba(255,210,117,.2),transparent 34%);pointer-events:none}
.upcoming-label{font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;padding:7px 9px;border-radius:999px;background:#f1c66d;color:#173248}
.upcoming-date{display:flex;align-items:center;gap:8px;border-left:1px solid rgba(255,255,255,.15);padding-left:18px}.upcoming-date b{font:600 30px/1 "Playfair Display",serif}.upcoming-date small,.upcoming-copy small{display:block;color:rgba(255,255,255,.64);font-size:9px}.upcoming-copy strong{display:block;font-size:15px;margin-bottom:4px}.upcoming-arrow{font-size:23px}
.activity-card{cursor:grab;user-select:none}.activity-card:active{cursor:grabbing}.activity-meta-line{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 12px;color:rgba(255,255,255,.68);font-size:9px}.activity-slider{touch-action:pan-y}
.attachment-panel{margin-top:30px;padding:20px;border-radius:18px;background:#f7fafb;border:1px solid rgba(8,56,83,.08)}.attachment-panel h3{margin:0 0 14px;color:#0b3553;font-size:16px}.attachment-list{display:grid;gap:10px}.attachment-item{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:12px;border-radius:14px;background:#fff;border:1px solid rgba(8,56,83,.08);text-decoration:none;color:#17384c;transition:.25s ease}.attachment-item:hover{transform:translateY(-2px);border-color:rgba(13,92,120,.24);box-shadow:0 10px 24px rgba(13,64,86,.08)}.attachment-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#e8f2f5;font-size:20px}.attachment-info strong{display:block;font-size:12px}.attachment-info small{display:block;margin-top:3px;color:#7b8d97;font-size:9px}.attachment-open{font-size:18px;color:#0d607c}
@media(max-width:720px){.weather-console,.time-mode-badge,.weather-live{display:none!important}.mobile-menu{top:74px;left:10px;right:10px;border-radius:18px;padding:8px}.mobile-menu a,.mobile-menu .mobile-btn{padding:14px 13px;font-size:14px}.mobile-actions{grid-template-columns:1fr}.upcoming-event-feature{grid-template-columns:auto 1fr auto;gap:12px}.upcoming-label{grid-column:1/-1;width:max-content}.upcoming-date{padding-left:0;border-left:0}.upcoming-copy strong{font-size:13px}.attachment-item{grid-template-columns:40px 1fr auto}}

/* =====================================================================
   V20 — ABOUT PAGE TYPOGRAPHY / ALIGNMENT
   ===================================================================== */
.static-page-about .inner-hero-grid h1{
  font-size:clamp(34px,4.1vw,58px);
  line-height:1.08;
  max-width:760px;
  letter-spacing:-.025em;
}
.static-page-about .static-lead{
  max-width:690px;
  margin-top:18px;
  color:rgba(255,255,255,.78);
  font-size:16px;
  line-height:1.9;
  font-weight:400;
  text-align:justify;
  text-justify:inter-word;
}
.static-page-about .static-lead p{margin:0 0 10px}
.static-page-about .static-lead p:last-child{margin-bottom:0}
.static-body-about .content-prose{
  font-size:16px;
  line-height:1.9;
  text-align:justify;
  text-justify:inter-word;
}
.static-body-about .content-prose p,
.static-body-about .content-prose li{
  text-align:justify;
  text-justify:inter-word;
}
.static-body-about .content-prose h2,
.static-body-about .content-prose h3{
  text-align:left;
  line-height:1.28;
}
.static-quick-access > span{
  font-size:12px;
  letter-spacing:.13em;
  font-weight:800;
}
.static-quick-access a{
  font-size:15px;
  line-height:1.5;
  padding-top:15px;
  padding-bottom:15px;
}
.static-quick-access a b{font-size:18px}
@media(max-width:720px){
  .static-page-about .inner-hero-grid h1{font-size:34px}
  .static-page-about .static-lead,
  .static-body-about .content-prose{font-size:15px;line-height:1.82;text-align:left}
  .static-body-about .content-prose p,
  .static-body-about .content-prose li{text-align:left}
  .static-quick-access a{font-size:14px}
}

/* =========================================================
   V21 LUXURY COMMUNITY POLISH
   Homepage after hero + notices/activities listing/detail
   ========================================================= */
:root{--lux-navy:#08263e;--lux-navy-deep:#061c2d;--lux-teal:#2e7d91;--lux-gold:#bd9560;--lux-gold-soft:#e6d5b6;--lux-ivory:#f7f3eb;--lux-pearl:#fbfaf7;--lux-line:rgba(8,54,78,.10)}

/* Home: visually elevate everything immediately below the hero */
.notice-center{position:relative;padding:68px 0 54px;background:radial-gradient(circle at 12% 10%,rgba(189,149,96,.10),transparent 27%),radial-gradient(circle at 88% 72%,rgba(56,131,147,.10),transparent 30%),linear-gradient(180deg,#f7f5ef 0%,#fbfaf7 100%);overflow:hidden}
.notice-center::after{content:"";position:absolute;left:50%;top:0;width:min(1180px,90%);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(171,133,81,.38),transparent)}
.notice-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.07fr) minmax(360px,.93fr);gap:0;width:min(1180px,calc(100% - 40px));margin:auto;border:1px solid rgba(12,60,82,.09);border-radius:34px;overflow:hidden;background:#fff;box-shadow:0 35px 85px rgba(7,42,61,.11)}
.notice-main{position:relative;padding:52px 54px 48px;background:radial-gradient(circle at 90% 0,rgba(76,151,165,.16),transparent 31%),linear-gradient(145deg,#071f33 0%,#0b344d 100%);color:#fff;overflow:hidden}
.notice-main::after{content:"";position:absolute;right:-72px;bottom:-100px;width:260px;height:260px;border:1px solid rgba(255,255,255,.10);border-radius:50%;box-shadow:0 0 0 28px rgba(255,255,255,.025),0 0 0 58px rgba(255,255,255,.018)}
.notice-topline{position:relative;z-index:2}.notice-main .new-badge{background:rgba(224,195,143,.15);border:1px solid rgba(224,195,143,.35);color:#f0d9ad}.notice-main .meta{color:rgba(255,255,255,.56)}
.notice-main h2{position:relative;z-index:2;max-width:690px;margin:22px 0 17px;font-family:"Playfair Display",Georgia,serif;font-size:clamp(31px,3.4vw,49px);line-height:1.04;letter-spacing:-.03em;color:#fff}.notice-main p{position:relative;z-index:2;max-width:650px;margin:0;color:rgba(255,255,255,.68);font-size:12px;line-height:1.85}.notice-action{position:relative;z-index:2;display:inline-flex;align-items:center;margin-top:29px;padding:12px 18px;border:1px solid rgba(230,213,182,.28);border-radius:999px;color:#f0d8a8;text-decoration:none;font-size:10px;font-weight:800;letter-spacing:.04em;transition:.25s ease}.notice-action:hover{transform:translateY(-2px);background:#f3e2c2;color:#09283e;box-shadow:0 12px 30px rgba(0,0,0,.14)}
.notice-list{padding:34px 34px 28px;background:linear-gradient(180deg,#fff,#fbfaf7)}.notice-list-title{display:flex;align-items:center;gap:11px;margin:0 0 15px;color:#9b774b;font-size:9px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.notice-list-title::before{content:"";width:28px;height:1px;background:#bd9560}.notice-row{display:grid;grid-template-columns:58px minmax(0,1fr) 28px;gap:15px;align-items:center;padding:18px 4px;border-top:1px solid rgba(8,54,78,.08);text-decoration:none;transition:.3s ease}.notice-row:hover{transform:translateX(5px);background:linear-gradient(90deg,rgba(232,241,242,.55),transparent)}.notice-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:54px;height:58px;border-radius:15px;background:#f4f0e8;color:#a87f4c;font-size:8px;font-weight:900;letter-spacing:.06em}.notice-date b{font-family:"Playfair Display",Georgia,serif;font-size:24px;line-height:1;color:#0c3852}.notice-row strong{display:block;color:#12374e;font-family:"Playfair Display",Georgia,serif;font-size:17px;line-height:1.2;font-weight:600}.notice-row small{display:block;margin-top:5px;color:#87949c;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.notice-row .mini-arrow{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid rgba(9,61,84,.11);color:#987244;transition:.25s ease}.notice-row:hover .mini-arrow{transform:rotate(45deg);background:#0b344d;color:#fff;border-color:#0b344d}

.sponsor-board{padding:0 0 64px;background:linear-gradient(180deg,#fbfaf7,#f5f1e9)}.sponsor-shell{border:1px solid rgba(154,119,74,.14);border-radius:28px;background:rgba(255,255,255,.84);box-shadow:0 24px 65px rgba(10,51,71,.07);backdrop-filter:blur(8px)}.sponsor-head{border-bottom:1px solid rgba(8,54,78,.08)}.sponsor-label{color:#967044;letter-spacing:.14em}.sponsor-slide{background:linear-gradient(135deg,#fff,#fbf7f0)}.sponsor-logo-box{border-color:rgba(174,137,87,.18);background:#fffaf2}.sponsor-button{border-radius:999px;background:#0a344c;color:#fff;border-color:#0a344c}.sponsor-button:hover{background:#b48a56;border-color:#b48a56}

#about.block{padding-top:78px;background:linear-gradient(180deg,#f5f1e9,#fff)}#about .section-title,#news .card h3{color:#0a2e46}#about .section-copy{font-size:12px;line-height:1.9;color:#6f8089}
#news.block{padding-bottom:82px;background:#fff}.cards{gap:22px}.cards>.card{border-radius:27px;border:1px solid rgba(8,58,81,.08);box-shadow:0 20px 55px rgba(6,38,57,.07);overflow:hidden;background:linear-gradient(180deg,#fff,#fcfbf8)}.cards>.card:hover{box-shadow:0 30px 70px rgba(6,38,57,.12)}.cards .card-media{min-height:210px;position:relative}.cards .card-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(4,25,40,.28))}.cards .card-body{padding:26px 28px 30px}.cards .pill{background:#f2eadf;color:#9c7747;border:1px solid #e9dcc8}.cards .card-body h3{font-family:"Playfair Display",Georgia,serif;font-size:26px;line-height:1.08;letter-spacing:-.02em}.cards .card-body p{font-size:11px;line-height:1.8;color:#74858f}.cards .text-link{color:#986f3e;font-weight:800}

/* Luxury list heading */
.luxury-news-heading{position:relative;min-height:360px;padding:92px 0 70px;background:radial-gradient(circle at 82% 25%,rgba(84,158,174,.18),transparent 27%),linear-gradient(145deg,#eaf1f1,#f8f6f0);overflow:hidden}.luxury-news-heading.is-activity{background:radial-gradient(circle at 82% 25%,rgba(187,148,91,.17),transparent 30%),linear-gradient(145deg,#eef2f1,#f7f2e9)}.luxury-news-heading::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(184,147,94,.4),transparent)}.luxury-heading-orb{position:absolute;border-radius:50%;border:1px solid rgba(10,63,87,.08);pointer-events:none}.luxury-heading-orb.orb-a{width:330px;height:330px;right:-110px;top:-130px;box-shadow:0 0 0 50px rgba(255,255,255,.15)}.luxury-heading-orb.orb-b{width:160px;height:160px;left:6%;bottom:-110px}.luxury-heading-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:50px;align-items:end}.luxury-news-heading h1{max-width:800px;margin:12px 0 18px;font-family:"Playfair Display",Georgia,serif;font-size:clamp(47px,6vw,80px);line-height:.96;letter-spacing:-.045em;color:#08283f}.luxury-news-heading p{max-width:740px;margin:0;color:#667b87;font-size:13px;line-height:1.85}.luxury-heading-stat{display:flex;flex-direction:column;align-items:flex-start;padding-left:26px;border-left:1px solid rgba(8,55,79,.13)}.luxury-heading-stat span{font-family:"Playfair Display",Georgia,serif;font-size:63px;line-height:.9;color:#b48955}.luxury-heading-stat small{max-width:120px;margin-top:10px;color:#6f818c;font-size:9px;font-weight:900;line-height:1.5;letter-spacing:.1em;text-transform:uppercase}

.luxury-news-section{position:relative;padding:62px 0 92px;background:linear-gradient(180deg,#fbfaf7,#f4f2ed)}.luxury-news-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;color:#89979f;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.luxury-news-toolbar>div{display:flex;align-items:center;gap:10px;color:#183d54;font-size:10px}.gold-line{display:inline-block;width:33px;height:1px;background:#b88c55}.luxury-editorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.luxury-editorial-card{display:grid;grid-template-columns:43% 57%;min-height:286px;overflow:hidden;border:1px solid rgba(9,59,81,.08);border-radius:27px;background:#fff;box-shadow:0 18px 50px rgba(6,39,58,.07);transition:.35s cubic-bezier(.2,.7,.2,1)}.luxury-editorial-card:hover{transform:translateY(-6px);box-shadow:0 30px 70px rgba(6,39,58,.13)}.luxury-editorial-card.is-featured{grid-column:1/-1;grid-template-columns:54% 46%;min-height:390px}.luxury-editorial-image{position:relative;display:block;min-height:100%;background-size:cover;background-position:center;overflow:hidden}.luxury-editorial-image::after{content:"";position:absolute;inset:0;background:linear-gradient(140deg,rgba(4,24,39,.03),rgba(4,24,39,.44));transition:.45s ease}.luxury-editorial-card:hover .luxury-editorial-image::after{background:linear-gradient(140deg,rgba(4,24,39,0),rgba(4,24,39,.27))}.luxury-editorial-card:hover .luxury-editorial-image{background-size:cover}.luxury-card-badge,.luxury-card-featured{position:absolute;z-index:3;left:18px;top:18px;padding:7px 10px;border-radius:999px;background:rgba(7,31,51,.72);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);color:#fff;font-size:8px;font-weight:900;letter-spacing:.11em}.luxury-card-featured{left:auto;right:18px;background:rgba(189,149,96,.86);color:#fff}.luxury-editorial-body{display:grid;grid-template-columns:65px 1fr;gap:18px;padding:28px 26px}.luxury-card-date{padding-right:15px;border-right:1px solid rgba(9,59,81,.08)}.luxury-card-date b{display:block;font-family:"Playfair Display",Georgia,serif;font-size:35px;line-height:1;color:#0b324a}.luxury-card-date span{display:block;margin-top:6px;color:#ad8350;font-size:8px;font-weight:900;letter-spacing:.06em}.luxury-card-date small{display:block;margin-top:4px;color:#8a989f;font-size:8px}.luxury-card-copy{align-self:center}.luxury-card-meta{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:9px;color:#88969e;font-size:8px;font-weight:800;letter-spacing:.03em}.luxury-card-copy h2{margin:0 0 11px;font-family:"Playfair Display",Georgia,serif;font-size:25px;line-height:1.08;letter-spacing:-.02em}.is-featured .luxury-card-copy h2{font-size:clamp(31px,3vw,43px)}.luxury-card-copy h2 a{color:#0a2c43;text-decoration:none}.luxury-card-copy p{margin:0;color:#74858e;font-size:10px;line-height:1.8}.luxury-readmore{display:inline-flex;align-items:center;gap:10px;margin-top:18px;color:#a27846;text-decoration:none;font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.luxury-readmore b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;border:1px solid rgba(166,123,68,.22);transition:.25s}.luxury-editorial-card:hover .luxury-readmore b{background:#0b344d;color:#fff;border-color:#0b344d;transform:rotate(45deg)}.luxury-empty-state{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:290px;padding:30px;border:1px dashed rgba(9,59,81,.15);border-radius:27px;background:#fff;text-align:center}.luxury-empty-state>span{font-size:26px;color:#bd9560}.luxury-empty-state strong{margin-top:10px;font-family:"Playfair Display",Georgia,serif;font-size:25px;color:#0a2c43}.luxury-empty-state small{margin-top:7px;color:#88969f}.luxury-pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:38px}.luxury-pagination>a,.luxury-pagination>span{display:grid;place-items:center;min-width:40px;height:40px;padding:0 14px;border:1px solid rgba(9,59,81,.1);border-radius:999px;background:#fff;color:#0d3951;text-decoration:none;font-size:10px}.luxury-pagination>span:nth-child(2){display:flex}.luxury-pagination .disabled{opacity:.4}

/* Detail page */
.luxury-detail-hero{min-height:590px}.luxury-detail-hero::before{background:linear-gradient(180deg,rgba(3,17,29,.16),rgba(3,19,32,.82)),var(--detail-bg) center/cover no-repeat}.luxury-detail-glow{position:absolute;inset:0;background:radial-gradient(circle at 80% 30%,rgba(210,175,116,.18),transparent 24%);pointer-events:none}.luxury-detail-meta{gap:11px}.luxury-detail-section{padding-top:72px;background:linear-gradient(180deg,#fbfaf7,#f3f1ec)}.luxury-detail-layout{grid-template-columns:minmax(0,1fr) 330px;gap:44px}.luxury-article{padding:44px 48px;border:1px solid rgba(9,59,81,.08);border-radius:29px;background:#fff;box-shadow:0 25px 65px rgba(6,39,58,.07)}.luxury-article .article-lead{margin-top:0;padding-bottom:26px;border-bottom:1px solid rgba(9,59,81,.09);font-family:"Playfair Display",Georgia,serif;font-size:24px;line-height:1.55;color:#183e54;text-align:justify}.luxury-article-content{color:#425e6e;font-size:13px;line-height:1.95;text-align:justify}.luxury-article-content p{text-align:justify}.luxury-article-content img{max-width:100%;height:auto;border-radius:18px}.luxury-article-content h2,.luxury-article-content h3{font-family:"Playfair Display",Georgia,serif;color:#0b3048}.luxury-attachment-panel{margin-top:40px;padding:26px;border-radius:23px;background:linear-gradient(145deg,#f7f1e7,#fff);border:1px solid rgba(178,137,81,.17)}.attachment-heading{display:flex;align-items:center;gap:13px;margin-bottom:17px}.attachment-heading-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#0b344d;color:#e6c88f;font-size:19px}.attachment-heading small{display:block;color:#a37b49;font-size:8px;font-weight:900;letter-spacing:.13em}.attachment-heading h3{margin:2px 0 0;font-family:"Playfair Display",Georgia,serif;font-size:23px;color:#0b3048}.luxury-attachment-item{border:1px solid rgba(8,58,81,.08)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 9px 24px rgba(8,47,66,.04);transition:.25s ease}.luxury-attachment-item:hover{transform:translateY(-3px);border-color:rgba(183,140,83,.28)!important;box-shadow:0 15px 34px rgba(8,47,66,.09)}.luxury-attachment-item .attachment-icon{display:grid;place-items:center;min-width:48px;height:48px;border-radius:13px;background:#0b344d;color:#f0d5a2;font-size:9px;font-weight:900;letter-spacing:.05em}.luxury-attachment-item .attachment-open{color:#a57946}.luxury-related-sidebar{padding:27px!important;border-radius:25px!important;background:linear-gradient(155deg,#071f33,#0d3c55)!important}.luxury-related-sidebar .related-title{color:#e0bc80!important}.luxury-related-sidebar .related-item{position:relative;padding-right:28px}.luxury-related-sidebar .related-item b{position:absolute;right:0;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.35);font-size:10px;transition:.25s}.luxury-related-sidebar .related-item:hover b{color:#e0bc80;transform:translateY(-50%) rotate(45deg)}.luxury-related-all{display:inline-flex;margin-top:17px;padding-top:17px;border-top:1px solid rgba(255,255,255,.08);width:100%;color:#e7c58f;text-decoration:none;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}

@media(max-width:980px){.notice-shell{grid-template-columns:1fr}.notice-main{padding:42px}.notice-list{padding:28px}.luxury-heading-grid{grid-template-columns:1fr}.luxury-heading-stat{display:none}.luxury-editorial-grid{grid-template-columns:1fr}.luxury-editorial-card,.luxury-editorial-card.is-featured{grid-column:auto;grid-template-columns:43% 57%;min-height:300px}.luxury-detail-layout{grid-template-columns:1fr}.luxury-related-sidebar{position:static!important}}
@media(max-width:720px){.notice-center{padding:42px 0 38px}.notice-shell{width:min(100% - 24px,1180px);border-radius:24px}.notice-main{padding:32px 26px}.notice-main h2{font-size:32px}.notice-list{padding:22px 20px}.notice-row{grid-template-columns:50px 1fr 25px;gap:11px;padding:15px 0}.notice-date{width:48px;height:52px}.notice-date b{font-size:21px}.notice-row strong{font-size:15px}.sponsor-board{padding-bottom:44px}.luxury-news-heading{min-height:auto;padding:62px 0 48px}.luxury-news-heading h1{font-size:45px}.luxury-news-heading p{font-size:12px}.luxury-news-section{padding:42px 0 62px}.luxury-news-toolbar{align-items:flex-start}.luxury-news-toolbar>span{display:none}.luxury-editorial-card,.luxury-editorial-card.is-featured{display:block;min-height:0;border-radius:23px}.luxury-editorial-image{min-height:245px}.luxury-editorial-body{grid-template-columns:55px 1fr;padding:24px 20px}.luxury-card-date b{font-size:29px}.luxury-card-copy h2,.is-featured .luxury-card-copy h2{font-size:24px}.luxury-article{padding:28px 22px;border-radius:23px}.luxury-article .article-lead{font-size:20px}.luxury-article-content{font-size:12px;line-height:1.9}.luxury-detail-hero{min-height:500px}.luxury-attachment-panel{padding:18px}.luxury-attachment-item{padding:12px!important}.attachment-heading h3{font-size:20px}}

/* =========================================================
   V22 — VISUAL HARMONY / CONTRAST / CLEAN SUMMARY TEXT
   Tuned from browser screenshot review at 1400px and mobile.
   ========================================================= */
:root{
  --v22-navy:#0a3048;
  --v22-navy-2:#0d3c55;
  --v22-teal:#2f8192;
  --v22-gold:#b9894e;
  --v22-gold-soft:#ead8b8;
  --v22-ivory:#f5f0e6;
  --v22-paper:#fffdf9;
  --v22-ink:#17384a;
  --v22-muted:#657b87;
}

/* Homepage below hero: one coherent warm-luxury surface instead of isolated blocks */
.notice-center{
  padding:64px 0 48px;
  background:
    radial-gradient(circle at 9% 5%,rgba(183,137,78,.10),transparent 28%),
    radial-gradient(circle at 91% 70%,rgba(47,129,146,.075),transparent 31%),
    linear-gradient(180deg,#f5f1e8 0%,#faf8f3 100%);
}
.notice-shell{
  width:min(1200px,calc(100% - 44px));
  border-color:rgba(19,67,89,.10);
  border-radius:30px;
  box-shadow:0 28px 72px rgba(8,42,61,.10);
}
.notice-main{
  padding:48px 52px 46px;
  background:
    radial-gradient(circle at 94% 6%,rgba(210,179,123,.16),transparent 30%),
    linear-gradient(142deg,#08273d 0%,#0b344b 63%,#0f4055 100%);
}
.notice-main::after{border-color:rgba(235,215,178,.12);box-shadow:0 0 0 28px rgba(235,215,178,.025),0 0 0 58px rgba(235,215,178,.015)}
.notice-main .new-badge{background:#f7ead0;border-color:#f7ead0;color:#8a5f2d;box-shadow:0 7px 20px rgba(0,0,0,.08)}
.notice-main .meta{color:rgba(238,246,248,.74)}
.notice-main h2{font-size:clamp(30px,3.1vw,46px);line-height:1.07;color:#fffdf8}
.notice-main p{max-width:670px;color:rgba(242,247,248,.80);font-size:12.5px;line-height:1.8}
.notice-action{border-color:rgba(237,216,179,.34);color:#f1d4a0;background:rgba(255,255,255,.035)}
.notice-list{background:linear-gradient(180deg,#fffdf9 0%,#f8f4ec 100%)}
.notice-list-title{color:#a7783f}
.notice-row{padding:17px 5px;border-top-color:rgba(13,62,83,.09)}
.notice-row:hover{background:linear-gradient(90deg,rgba(229,239,239,.64),rgba(255,255,255,0))}
.notice-date{background:#efe8dc;color:#9b6a34}
.notice-date b{color:#123d54}
.notice-row strong{color:#173d52}
.notice-row small{color:#748792}

/* Sponsor block: restore text contrast and make it visually belong to the same palette */
.sponsor-board{padding:0 0 66px;background:linear-gradient(180deg,#faf8f3 0%,#f3eee4 100%)}
.sponsor-shell{
  color:var(--v22-ink);
  border-color:rgba(161,116,61,.16);
  background:
    radial-gradient(circle at 88% 25%,rgba(47,129,146,.07),transparent 31%),
    linear-gradient(135deg,#fffdf9 0%,#f5eee2 100%);
  box-shadow:0 24px 62px rgba(11,50,69,.08);
}
.sponsor-head{padding-top:15px;border-bottom-color:rgba(17,61,82,.09)}
.sponsor-label{color:#8e6537}
.sponsor-label::before{background:#0d3c55;color:#f0d7a6;border:0}
.sponsor-head .sponsor-cta{color:#946a39!important}
.sponsor-head .sponsor-cta:hover{color:#0d5870!important}
.sponsor-slide{background:transparent!important}
.sponsor-logo-box{
  border-color:rgba(162,116,62,.20)!important;
  background:rgba(255,255,255,.72)!important;
  color:#9a7041!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
}
.sponsor-copy .s-mini{color:#2e8194!important}
.sponsor-copy h3{color:#17384a!important;font-size:23px}
.sponsor-copy p{color:#667985!important;font-size:11px;line-height:1.68}
.sponsor-button{background:#0b344d!important;border-color:#0b344d!important;color:#fff!important;box-shadow:0 10px 24px rgba(8,48,69,.14)}
.sponsor-button:hover{background:#a67942!important;border-color:#a67942!important;transform:translateY(-2px)}
.sponsor-dot{background:rgba(13,60,85,.18)}
.sponsor-dot.active{background:#0d3c55}

/* Keep the section transition smooth */
#about.block{padding-top:74px;background:linear-gradient(180deg,#f3eee4 0%,#faf8f4 42%,#fff 100%)}

/* Notice / activity list pages: calmer typography and stronger contrast */
.luxury-news-heading{
  background:
    radial-gradient(circle at 84% 22%,rgba(51,132,148,.12),transparent 29%),
    radial-gradient(circle at 12% 80%,rgba(185,137,78,.075),transparent 25%),
    linear-gradient(145deg,#eef3f2,#f8f4eb);
}
.luxury-news-heading.is-activity{
  background:
    radial-gradient(circle at 83% 23%,rgba(184,137,78,.11),transparent 30%),
    linear-gradient(145deg,#eef2f0,#f7f1e7);
}
.luxury-news-heading h1{font-size:clamp(44px,5.3vw,70px);color:#0b3048}
.luxury-news-heading p{color:#536f7d;font-size:12.5px}
.luxury-heading-stat span{color:#a87840}
.luxury-news-section{background:linear-gradient(180deg,#fbf9f4,#f2eee6)}
.luxury-editorial-card{border-color:rgba(12,61,82,.10);box-shadow:0 17px 45px rgba(8,43,61,.075)}
.luxury-card-copy p{color:#607985;font-size:10.5px}
.luxury-news-toolbar{color:#718791}

/* Detail summaries created by rich editors should read as normal text */
.luxury-article .article-lead{color:#173e54}
.album-detail-hero p,.resident-inner-hero p{white-space:normal}

@media(max-width:720px){
  .notice-center{padding:38px 0 32px}
  .notice-shell{width:calc(100% - 24px);border-radius:23px}
  .notice-main{padding:30px 24px}
  .notice-main h2{font-size:30px;line-height:1.12}
  .notice-main p{font-size:12px;line-height:1.72}
  .notice-list{padding:20px 18px}
  .sponsor-board{padding-bottom:42px}
  .sponsor-copy h3{font-size:20px}
  .luxury-news-heading h1{font-size:40px}
}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/community-v24.css */
/* ============================================================
   TULIP TOWER V24 — VIETNAMESE QUIET LUXURY
   Namespaced visual system loaded after legacy community.css.
   No webfont dependency. Vietnamese-safe system font stacks.
   ============================================================ */
:root{
  --tt24-night:#082331;
  --tt24-night-2:#0d3242;
  --tt24-night-3:#174b58;
  --tt24-ink:#183642;
  --tt24-ink-soft:#35515c;
  --tt24-muted:#6d7f86;
  --tt24-ivory:#f6f1e8;
  --tt24-ivory-2:#fbf9f4;
  --tt24-paper:#ffffff;
  --tt24-mist:#e8eeec;
  --tt24-sage:#8da9a5;
  --tt24-gold:#c4a065;
  --tt24-gold-dark:#9d7948;
  --tt24-gold-soft:#ead9b9;
  --tt24-line:rgba(15,48,60,.11);
  --tt24-line-light:rgba(255,255,255,.12);
  --tt24-shadow:0 24px 70px rgba(8,35,49,.10);
  --tt24-shadow-lg:0 38px 105px rgba(7,30,43,.15);
  --tt24-body:Tahoma,"Segoe UI",Arial,sans-serif;
  --tt24-display:Cambria,Georgia,"Times New Roman",serif;
  --font-body:var(--tt24-body);
  --font-display:var(--tt24-display);
  --navy:var(--tt24-night);
  --blue:var(--tt24-night-3);
  --gold:var(--tt24-gold);
  --gold-soft:var(--tt24-gold-soft);
  --paper:var(--tt24-ivory-2);
  --text:var(--tt24-ink);
  --muted:var(--tt24-muted);
}
html{font-size:16px}
body.tt-v24,
body.tt-v24 button,
body.tt-v24 input,
body.tt-v24 select,
body.tt-v24 textarea{
  font-family:var(--tt24-body)!important;
  font-synthesis:none;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.tt-v24{margin:0;background:var(--tt24-ivory-2)!important;color:var(--tt24-ink)!important;letter-spacing:0}
body.tt-v24 h1,body.tt-v24 h2,body.tt-v24 h3,body.tt-v24 h4,body.tt-v24 h5,body.tt-v24 h6,
body.tt-v24 .section-title,body.tt-v24 .brand-text strong,body.tt-v24 .notice-row strong,
body.tt-v24 .activity-content h3,body.tt-v24 .card h3,body.tt-v24 .luxury-card-copy h2,
body.tt-v24 .album-card-body h2,body.tt-v24 .album-gallery-head h2,body.tt-v24 .resident-feature-card h3,
body.tt-v24 .content-prose h2,body.tt-v24 .content-prose h3,body.tt-v24 .article-lead,
body.tt-v24 .related-album-grid a span,body.tt-v24 .member-panel h2{
  font-family:var(--tt24-display)!important;
  font-weight:600!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  font-kerning:normal;
}
body.tt-v24 p,body.tt-v24 li,body.tt-v24 a,body.tt-v24 span,body.tt-v24 strong{word-break:normal;hyphens:none}
body.tt-v24 .container{width:min(1200px,calc(100% - 56px))}
body.tt-v24 ::selection{background:rgba(196,160,101,.28);color:var(--tt24-night)}

/* ---------- header ---------- */
body.tt-v24 .site-header{padding:18px 24px;transition:.3s ease}
body.tt-v24 .site-header.scrolled{padding-top:10px}
body.tt-v24 .header-shell{
  width:min(1320px,100%);min-height:72px;height:auto;padding:8px 12px 8px 18px;
  grid-template-columns:auto 1fr auto;gap:20px;border-radius:16px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(5,30,43,.86);box-shadow:0 18px 48px rgba(3,25,36,.15);
  backdrop-filter:blur(18px) saturate(115%);
}
body.tt-v24 .site-header.scrolled .header-shell,body.tt-v24 .inner-header .header-shell{background:rgba(6,31,44,.96)}
body.tt-v24 .brand{gap:12px}
body.tt-v24 .brand img{width:40px;max-height:48px;object-fit:contain;filter:none}
body.tt-v24 .brand-text strong{font-family:var(--tt24-body)!important;font-size:17px!important;font-weight:800!important;letter-spacing:.055em;color:#fff}
body.tt-v24 .brand-text small{margin-top:5px;font-size:8px!important;font-weight:600;letter-spacing:.21em;color:rgba(255,255,255,.55)}
body.tt-v24 .desktop-nav{gap:1px}
body.tt-v24 .desktop-nav a{padding:14px 13px;font-size:13.5px!important;font-weight:700;color:rgba(255,255,255,.72)}
body.tt-v24 .desktop-nav a::after{left:14px;right:14px;bottom:8px;height:1px;background:var(--tt24-gold)}
body.tt-v24 .desktop-nav a:hover,body.tt-v24 .desktop-nav a.active{color:#fff}
body.tt-v24 .btn{border-radius:10px!important;font-size:12px!important;font-weight:800!important;letter-spacing:.01em}
body.tt-v24 .btn-light{background:var(--tt24-ivory)!important;color:var(--tt24-night)!important;border:1px solid rgba(255,255,255,.42)!important;box-shadow:none!important}
body.tt-v24 .btn-outline{background:rgba(255,255,255,.04)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important}
body.tt-v24 .lang-switch{border-radius:9px;background:rgba(255,255,255,.04)}
body.tt-v24 .lang-switch button,body.tt-v24 .inner-header .lang-switch a{font-size:10px!important;font-weight:800}

/* ---------- home hero ---------- */
body.tt-v24.tt-home .hero h1{font-family:var(--tt24-display)!important;font-size:clamp(50px,6.1vw,88px)!important;line-height:.98!important;letter-spacing:-.035em!important;font-weight:600!important}
body.tt-v24.tt-home .hero .lead{font-size:15px!important;line-height:1.8!important;max-width:640px;color:rgba(255,255,255,.76)}
body.tt-v24.tt-home .eyebrow{font-size:9px!important;letter-spacing:.18em;color:rgba(255,255,255,.78)}
body.tt-v24.tt-home .hero-bottom{border-radius:14px}

/* ============================================================
   HOME — INFORMATION LOUNGE
   ============================================================ */
body.tt-v24 .notice-center{
  padding:94px 0 72px!important;background:
  radial-gradient(circle at 8% 0,rgba(196,160,101,.13),transparent 28%),
  linear-gradient(180deg,#f7f3eb 0%,#fbfaf7 100%)!important;
}
body.tt-v24 .notice-shell{
  width:min(1200px,calc(100% - 56px))!important;margin:auto!important;
  display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr)!important;
  gap:0!important;min-height:430px!important;border:1px solid rgba(20,54,66,.10)!important;
  border-radius:18px!important;overflow:hidden!important;background:var(--tt24-paper)!important;
  box-shadow:var(--tt24-shadow-lg)!important;
}
body.tt-v24 .notice-main{
  position:relative!important;display:flex!important;flex-direction:column!important;justify-content:center!important;
  min-height:430px!important;padding:58px 64px!important;background:
  linear-gradient(135deg,rgba(7,34,48,.97),rgba(13,55,68,.95))!important;color:#fff!important;overflow:hidden!important;
}
body.tt-v24 .notice-main::before{
  content:"";position:absolute;right:-90px;top:-130px;width:360px;height:360px;border-radius:50%;
  border:1px solid rgba(255,255,255,.07);box-shadow:0 0 0 52px rgba(255,255,255,.025),0 0 0 104px rgba(255,255,255,.016);
}
body.tt-v24 .notice-main::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--tt24-gold),rgba(196,160,101,.15))}
body.tt-v24 .notice-topline{position:relative;z-index:2;display:flex;align-items:center;gap:14px}
body.tt-v24 .new-badge{padding:8px 12px!important;border-radius:999px!important;background:var(--tt24-gold-soft)!important;color:#775524!important;font-size:8px!important;font-weight:900!important;letter-spacing:.12em;text-transform:uppercase}
body.tt-v24 .notice-topline .meta{font-size:9px!important;color:rgba(255,255,255,.56)!important;font-weight:700!important}
body.tt-v24 .notice-main h2{position:relative;z-index:2;max-width:710px;margin:24px 0 18px!important;font-size:clamp(34px,3.7vw,52px)!important;line-height:1.06!important;letter-spacing:-.028em!important;color:#fff!important}
body.tt-v24 .notice-main p{position:relative;z-index:2;max-width:680px;margin:0!important;font-size:13px!important;line-height:1.9!important;color:rgba(255,255,255,.72)!important}
body.tt-v24 .notice-action{position:relative;z-index:2;align-self:flex-start;margin-top:30px!important;padding:12px 18px!important;border:1px solid rgba(234,217,185,.34)!important;border-radius:10px!important;color:#f1d7a6!important;background:rgba(255,255,255,.02)!important;font-size:10px!important;font-weight:900!important;letter-spacing:.035em!important}
body.tt-v24 .notice-action:hover{background:var(--tt24-gold-soft)!important;color:var(--tt24-night)!important;transform:translateY(-2px)}
body.tt-v24 .notice-list{padding:38px 32px!important;background:linear-gradient(180deg,#fff,#faf8f3)!important}
body.tt-v24 .notice-list-title{display:flex;align-items:center;gap:11px;margin:0 0 14px!important;color:var(--tt24-gold-dark)!important;font-size:9px!important;font-weight:900!important;letter-spacing:.13em!important;text-transform:uppercase}
body.tt-v24 .notice-list-title::before{content:"";width:30px;height:1px;background:var(--tt24-gold)}
body.tt-v24 .notice-row{grid-template-columns:56px minmax(0,1fr) 28px!important;gap:16px!important;padding:20px 0!important;border-top:1px solid var(--tt24-line)!important;background:transparent!important;transition:.28s ease!important}
body.tt-v24 .notice-row:hover{transform:translateX(5px)!important;background:transparent!important}
body.tt-v24 .notice-date{width:52px!important;height:58px!important;border-radius:12px!important;background:var(--tt24-ivory)!important;color:var(--tt24-gold-dark)!important;font-size:8px!important;font-weight:900!important;box-shadow:inset 0 0 0 1px rgba(157,121,72,.08)}
body.tt-v24 .notice-date b{font-family:var(--tt24-display)!important;font-size:25px!important;line-height:.9;color:var(--tt24-night)!important}
body.tt-v24 .notice-row strong{display:block;font-size:15px!important;line-height:1.34!important;color:var(--tt24-ink)!important}
body.tt-v24 .notice-row small{display:block;margin-top:5px;font-size:7.5px!important;font-weight:900!important;letter-spacing:.11em!important;text-transform:uppercase;color:#8b999f!important}
body.tt-v24 .mini-arrow{display:grid!important;place-items:center!important;width:27px!important;height:27px!important;border-radius:50%!important;border:1px solid rgba(15,48,60,.12)!important;color:var(--tt24-gold-dark)!important;font-size:15px!important}

/* ---------- sponsor ---------- */
body.tt-v24 .sponsor-board{padding:0 0 92px!important;background:#fbfaf7!important}
body.tt-v24 .sponsor-shell{width:min(1200px,calc(100% - 56px))!important;margin:auto!important;border-radius:16px!important;border:1px solid rgba(196,160,101,.20)!important;background:linear-gradient(115deg,#f3ecdf 0%,#fbf9f4 55%,#eef2ef 100%)!important;box-shadow:0 22px 55px rgba(9,38,50,.07)!important;overflow:hidden!important}
body.tt-v24 .sponsor-head{height:auto!important;min-height:38px!important;padding:12px 20px!important;border-bottom:1px solid rgba(20,54,66,.09)!important}
body.tt-v24 .sponsor-label{font-size:8px!important;font-weight:900!important;letter-spacing:.16em!important;color:#896536!important;text-transform:uppercase}
body.tt-v24 .sponsor-cta{font-size:8px!important;font-weight:800!important;color:#8c6737!important}
body.tt-v24 .sponsor-slide{min-height:128px!important;display:grid!important;grid-template-columns:130px minmax(0,1fr) auto!important;gap:26px!important;align-items:center!important;padding:22px 24px!important}
body.tt-v24 .sponsor-logo-box{width:128px!important;height:76px!important;border-radius:12px!important;background:rgba(255,255,255,.72)!important;border:1px solid rgba(157,121,72,.18)!important;color:#9b713e!important;font-family:var(--tt24-display)!important;font-size:15px!important;box-shadow:none!important}
body.tt-v24 .sponsor-copy .s-mini{font-size:8px!important;letter-spacing:.15em!important;font-weight:900!important;color:#587d81!important}
body.tt-v24 .sponsor-copy h3{margin:5px 0 5px!important;font-size:24px!important;line-height:1.12!important;color:var(--tt24-ink)!important}
body.tt-v24 .sponsor-copy p{margin:0!important;font-size:11px!important;line-height:1.65!important;color:#748188!important}
body.tt-v24 .sponsor-button{padding:11px 16px!important;border-radius:9px!important;background:var(--tt24-night)!important;color:#fff!important;font-size:9px!important;font-weight:900!important;box-shadow:none!important}
body.tt-v24 .sponsor-button:hover{background:var(--tt24-night-3)!important;transform:translateY(-2px)}
body.tt-v24 .sponsor-controls{padding:0 24px 14px!important}
body.tt-v24 .sponsor-dot{width:18px!important;height:2px!important;border-radius:999px!important;background:#cbd4d2!important}
body.tt-v24 .sponsor-dot.active{width:34px!important;background:var(--tt24-night)!important}

/* ---------- common sections ---------- */
body.tt-v24 section.block{padding:96px 0!important}
body.tt-v24 .section-head{display:grid!important;grid-template-columns:minmax(0,.82fr) minmax(320px,.48fr)!important;gap:86px!important;align-items:end!important;margin-bottom:44px!important}
body.tt-v24 .section-kicker{font-family:var(--tt24-body)!important;font-size:9px!important;font-weight:900!important;line-height:1.4!important;letter-spacing:.16em!important;text-transform:uppercase;color:var(--tt24-gold-dark)!important}
body.tt-v24 .section-title{margin:10px 0 0!important;font-size:clamp(38px,4.2vw,56px)!important;line-height:1.03!important;letter-spacing:-.025em!important;color:var(--tt24-ink)!important}
body.tt-v24 .section-copy{font-size:13px!important;line-height:1.9!important;color:var(--tt24-muted)!important}
body.tt-v24 #about{background:#fff!important}
body.tt-v24 #news{background:#fff!important}
body.tt-v24 .cards{display:grid!important;grid-template-columns:1fr 1fr!important;gap:24px!important}
body.tt-v24 .cards>.card{border-radius:16px!important;border:1px solid var(--tt24-line)!important;background:#fff!important;box-shadow:0 16px 44px rgba(8,35,49,.06)!important;overflow:hidden!important}
body.tt-v24 .cards>.card:nth-child(2){background:linear-gradient(150deg,#f6f0e6,#fbfaf6)!important}
body.tt-v24 .cards .card-media{min-height:280px!important}
body.tt-v24 .cards .card-body{padding:30px 32px 34px!important}
body.tt-v24 .cards .pill{padding:7px 10px!important;border-radius:999px!important;background:var(--tt24-ivory)!important;border:1px solid rgba(157,121,72,.14)!important;color:#8a6637!important;font-size:8px!important;font-weight:900!important;letter-spacing:.1em!important;text-transform:uppercase}
body.tt-v24 .cards .card-body h3{margin:16px 0 10px!important;font-size:28px!important;line-height:1.08!important;color:var(--tt24-ink)!important}
body.tt-v24 .cards .card-body p{font-size:12px!important;line-height:1.82!important;color:var(--tt24-muted)!important}
body.tt-v24 .cards .text-link{font-size:10px!important;font-weight:900!important;color:var(--tt24-gold-dark)!important}

/* ---------- activities ---------- */
body.tt-v24 #activities{position:relative;background:linear-gradient(180deg,#0a2838,#0c3241)!important;color:#fff!important;overflow:hidden}
body.tt-v24 #activities::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 0,rgba(196,160,101,.11),transparent 25%);pointer-events:none}
body.tt-v24 #activities .section-kicker{color:#e0bd82!important}
body.tt-v24 #activities .section-title{color:#fff!important}
body.tt-v24 #activities .section-copy{color:rgba(255,255,255,.62)!important}
body.tt-v24 .upcoming-event-feature{position:relative;display:grid!important;grid-template-columns:auto 80px minmax(0,1fr) auto!important;gap:22px!important;align-items:center!important;padding:20px 24px!important;margin:0 0 26px!important;border-radius:14px!important;border:1px solid rgba(234,217,185,.16)!important;background:linear-gradient(90deg,rgba(255,255,255,.07),rgba(255,255,255,.035))!important;color:#fff!important;backdrop-filter:blur(10px)}
body.tt-v24 .upcoming-label{padding:8px 10px!important;border-radius:999px!important;background:var(--tt24-gold-soft)!important;color:#765426!important;font-size:8px!important;font-weight:900!important;letter-spacing:.09em!important;text-transform:uppercase}
body.tt-v24 .upcoming-date{padding-right:20px!important;border-right:1px solid rgba(255,255,255,.10)!important}
body.tt-v24 .upcoming-date b{font-family:var(--tt24-display)!important;font-size:34px!important;color:#f0d5a3!important}
body.tt-v24 .upcoming-date small{font-size:8px!important;color:rgba(255,255,255,.58)!important}
body.tt-v24 .upcoming-copy strong{font-size:20px!important;color:#fff!important}
body.tt-v24 .upcoming-copy small{font-size:9px!important;color:rgba(255,255,255,.55)!important}
body.tt-v24 .upcoming-arrow{font-size:22px!important;color:#e6c78f!important}
body.tt-v24 .activity-wrap{position:relative}
body.tt-v24 .activity-track{gap:18px!important;scroll-snap-type:x mandatory}
body.tt-v24 .activity-card{flex:0 0 min(33.333% - 12px,370px)!important;min-height:470px!important;border-radius:16px!important;border:1px solid rgba(255,255,255,.10)!important;box-shadow:0 24px 60px rgba(0,0,0,.22)!important;scroll-snap-align:start;overflow:hidden!important;transition:transform .35s ease,box-shadow .35s ease!important}
body.tt-v24 .activity-card:hover{transform:translateY(-7px)!important;box-shadow:0 34px 78px rgba(0,0,0,.30)!important}
body.tt-v24 .activity-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,25,36,.04) 28%,rgba(5,24,35,.88) 100%);pointer-events:none}
body.tt-v24 .activity-content{position:absolute!important;z-index:2!important;left:0!important;right:0!important;bottom:0!important;padding:28px!important}
body.tt-v24 .activity-date{display:inline-flex!important;padding:7px 9px!important;border-radius:999px!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.14)!important;color:#f0d7a8!important;font-size:8px!important;font-weight:900!important;letter-spacing:.08em!important}
body.tt-v24 .activity-content h3{margin:13px 0 8px!important;font-size:29px!important;line-height:1.06!important;color:#fff!important}
body.tt-v24 .activity-content p{margin:0!important;font-size:11px!important;line-height:1.75!important;color:rgba(255,255,255,.68)!important}
body.tt-v24 .activity-meta-line{margin-top:13px!important;display:flex!important;gap:10px!important;flex-wrap:wrap!important;font-size:8px!important;color:rgba(255,255,255,.55)!important}
body.tt-v24 .activity-content .text-link{display:inline-block;margin-top:15px!important;font-size:9px!important;font-weight:900!important;color:#f0d5a3!important}
body.tt-v24 .activity-nav{margin-top:24px!important}
body.tt-v24 .arrow-btn{width:42px!important;height:42px!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.16)!important;background:rgba(255,255,255,.06)!important;color:#fff!important}
body.tt-v24 .arrow-btn:hover{background:var(--tt24-gold-soft)!important;color:var(--tt24-night)!important}

/* ---------- resident portal home ---------- */
body.tt-v24 .section-dark{background:linear-gradient(135deg,#f2eee5,#f9f7f2)!important;color:var(--tt24-ink)!important}
body.tt-v24 .section-dark .section-title{color:var(--tt24-ink)!important}
body.tt-v24 .section-dark .section-copy{color:var(--tt24-muted)!important}
body.tt-v24 .dark-grid{gap:70px!important}
body.tt-v24 .portal-tools{gap:14px!important}
body.tt-v24 .tool{min-height:150px!important;padding:22px!important;border-radius:14px!important;border:1px solid var(--tt24-line)!important;background:#fff!important;color:var(--tt24-ink)!important;box-shadow:0 12px 32px rgba(8,35,49,.05)!important}
body.tt-v24 .tool .icon{background:var(--tt24-ivory)!important;color:var(--tt24-gold-dark)!important;border-radius:10px!important}
body.tt-v24 .tool strong{color:var(--tt24-ink)!important;font-size:13px!important}
body.tt-v24 .tool small{color:var(--tt24-muted)!important;font-size:10px!important;line-height:1.55!important}
body.tt-v24 .section-dark .btn-outline{color:var(--tt24-night)!important;border-color:rgba(8,35,49,.18)!important;background:transparent!important}

/* ============================================================
   INNER HEADER / PAGE HERO
   ============================================================ */
body.tt-v24.inner-site{background:var(--tt24-ivory-2)!important}
body.tt-v24 .inner-main{min-height:calc(100vh - 130px)}
body.tt-v24 .page-heading,body.tt-v24 .luxury-news-heading{
  position:relative!important;min-height:390px!important;padding:142px 0 72px!important;
  background:linear-gradient(135deg,#092736 0%,#103b49 100%)!important;color:#fff!important;overflow:hidden!important;
}
body.tt-v24 .luxury-news-heading::before{content:"";position:absolute;right:-140px;top:-220px;width:520px;height:520px;border-radius:50%;border:1px solid rgba(255,255,255,.06);box-shadow:0 0 0 70px rgba(255,255,255,.018),0 0 0 140px rgba(255,255,255,.010)}
body.tt-v24 .luxury-heading-orb{display:none!important}
body.tt-v24 .luxury-heading-grid{position:relative;z-index:2;display:grid!important;grid-template-columns:minmax(0,1fr) 190px!important;gap:70px!important;align-items:end!important}
body.tt-v24 .luxury-news-heading .section-kicker{color:#e3c58f!important}
body.tt-v24 .luxury-news-heading h1{max-width:820px!important;margin:12px 0 16px!important;font-size:clamp(46px,5.7vw,76px)!important;line-height:1!important;letter-spacing:-.035em!important;color:#fff!important}
body.tt-v24 .luxury-news-heading p{max-width:730px!important;margin:0!important;font-size:13px!important;line-height:1.85!important;color:rgba(255,255,255,.65)!important}
body.tt-v24 .luxury-heading-stat{padding-left:25px!important;border-left:1px solid rgba(255,255,255,.15)!important}
body.tt-v24 .luxury-heading-stat span{font-family:var(--tt24-display)!important;font-size:58px!important;color:#e3c58f!important}
body.tt-v24 .luxury-heading-stat small{font-size:8px!important;line-height:1.5!important;letter-spacing:.11em!important;color:rgba(255,255,255,.55)!important}

/* ---------- notice / activity list ---------- */
body.tt-v24 .luxury-news-section{padding:70px 0 100px!important;background:linear-gradient(180deg,#f7f3eb,#fbfaf7)!important}
body.tt-v24 .luxury-news-toolbar{margin-bottom:30px!important;padding-bottom:14px!important;border-bottom:1px solid var(--tt24-line)!important;color:#87969c!important;font-size:8px!important;letter-spacing:.1em!important}
body.tt-v24 .luxury-news-toolbar>div{font-size:9px!important;color:var(--tt24-ink)!important}
body.tt-v24 .gold-line{background:var(--tt24-gold)!important}
body.tt-v24 .luxury-editorial-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important}
body.tt-v24 .luxury-editorial-card{display:grid!important;grid-template-columns:42% 58%!important;min-height:310px!important;border-radius:16px!important;border:1px solid var(--tt24-line)!important;background:#fff!important;box-shadow:0 16px 48px rgba(8,35,49,.065)!important;overflow:hidden!important;transition:.35s ease!important}
body.tt-v24 .luxury-editorial-card:hover{transform:translateY(-6px)!important;box-shadow:0 28px 70px rgba(8,35,49,.12)!important}
body.tt-v24 .luxury-editorial-card.is-featured{grid-column:1/-1!important;grid-template-columns:56% 44%!important;min-height:430px!important}
body.tt-v24 .luxury-editorial-image{min-height:100%!important;background-position:center!important;background-size:cover!important}
body.tt-v24 .luxury-editorial-image::after{background:linear-gradient(150deg,rgba(4,25,36,.04),rgba(4,25,36,.38))!important}
body.tt-v24 .luxury-card-badge,body.tt-v24 .luxury-card-featured{top:18px!important;left:18px!important;padding:7px 10px!important;border-radius:999px!important;background:rgba(7,33,47,.78)!important;color:#fff!important;font-size:7px!important;font-weight:900!important;letter-spacing:.12em!important}
body.tt-v24 .luxury-card-featured{left:auto!important;right:18px!important;background:rgba(196,160,101,.90)!important}
body.tt-v24 .luxury-editorial-body{grid-template-columns:62px 1fr!important;gap:20px!important;padding:30px 28px!important}
body.tt-v24 .luxury-card-date{padding-right:15px!important;border-right:1px solid var(--tt24-line)!important}
body.tt-v24 .luxury-card-date b{font-family:var(--tt24-display)!important;font-size:34px!important;color:var(--tt24-night)!important}
body.tt-v24 .luxury-card-date span{margin-top:5px!important;font-size:8px!important;font-weight:900!important;color:var(--tt24-gold-dark)!important}
body.tt-v24 .luxury-card-date small{font-size:8px!important;color:#87969c!important}
body.tt-v24 .luxury-card-meta{gap:8px!important;margin-bottom:9px!important;font-size:8px!important;color:#87969c!important}
body.tt-v24 .luxury-card-copy h2{margin:0 0 10px!important;font-size:26px!important;line-height:1.09!important;letter-spacing:-.018em!important}
body.tt-v24 .is-featured .luxury-card-copy h2{font-size:clamp(34px,3.3vw,46px)!important}
body.tt-v24 .luxury-card-copy h2 a{color:var(--tt24-ink)!important}
body.tt-v24 .luxury-card-copy p{font-size:11px!important;line-height:1.8!important;color:var(--tt24-muted)!important}
body.tt-v24 .luxury-readmore{margin-top:18px!important;color:var(--tt24-gold-dark)!important;font-size:8px!important;font-weight:900!important;letter-spacing:.07em!important}
body.tt-v24 .luxury-readmore b{width:28px!important;height:28px!important;border-color:rgba(157,121,72,.22)!important}
body.tt-v24 .luxury-editorial-card:hover .luxury-readmore b{background:var(--tt24-night)!important;border-color:var(--tt24-night)!important;color:#fff!important}
body.tt-v24 .luxury-pagination>a,body.tt-v24 .luxury-pagination>span{border-radius:9px!important;border-color:var(--tt24-line)!important;background:#fff!important;color:var(--tt24-night)!important}

/* ---------- detail ---------- */
body.tt-v24 .luxury-detail-hero{min-height:560px!important}
body.tt-v24 .luxury-detail-hero::before{background:linear-gradient(180deg,rgba(4,21,31,.32),rgba(4,23,34,.84)),var(--detail-bg) center/cover no-repeat!important}
body.tt-v24 .detail-hero-content{padding-top:165px!important;padding-bottom:76px!important}
body.tt-v24 .detail-back{font-size:9px!important;font-weight:800!important;letter-spacing:.05em!important;color:rgba(255,255,255,.72)!important}
body.tt-v24 .luxury-detail-hero .section-kicker{margin-top:36px;color:#e4c48c!important}
body.tt-v24 .detail-hero h1{max-width:930px!important;margin:14px 0 16px!important;font-size:clamp(44px,5.8vw,76px)!important;line-height:1!important;letter-spacing:-.035em!important;color:#fff!important}
body.tt-v24 .detail-meta{font-size:9px!important;color:rgba(255,255,255,.58)!important}
body.tt-v24 .luxury-detail-section{padding:72px 0 100px!important;background:linear-gradient(180deg,#f5f0e7,#fbfaf7)!important}
body.tt-v24 .luxury-detail-layout{grid-template-columns:minmax(0,1fr) 320px!important;gap:36px!important;align-items:start!important}
body.tt-v24 .luxury-article{padding:46px 50px!important;border-radius:16px!important;border:1px solid var(--tt24-line)!important;background:#fff!important;box-shadow:0 20px 58px rgba(8,35,49,.07)!important}
body.tt-v24 .luxury-article .article-lead{margin:0 0 28px!important;padding:0 0 26px!important;border-bottom:1px solid var(--tt24-line)!important;font-size:22px!important;line-height:1.55!important;color:var(--tt24-ink)!important;text-align:justify!important}
body.tt-v24 .luxury-article-content{font-size:14px!important;line-height:1.95!important;color:#405b66!important;text-align:justify!important}
body.tt-v24 .luxury-article-content p{text-align:justify!important;margin:0 0 1.2em!important}
body.tt-v24 .luxury-article-content h2{font-size:30px!important;margin-top:1.5em!important;color:var(--tt24-ink)!important}
body.tt-v24 .luxury-article-content h3{font-size:24px!important;color:var(--tt24-ink)!important}
body.tt-v24 .luxury-article-content img{border-radius:12px!important}
body.tt-v24 .luxury-attachment-panel{margin-top:38px!important;padding:24px!important;border-radius:14px!important;background:var(--tt24-ivory-2)!important;border:1px solid rgba(157,121,72,.18)!important}
body.tt-v24 .attachment-heading-icon{border-radius:10px!important;background:var(--tt24-night)!important;color:#edcf99!important}
body.tt-v24 .attachment-heading h3{font-size:22px!important;color:var(--tt24-ink)!important}
body.tt-v24 .luxury-attachment-item{border-radius:10px!important;box-shadow:none!important}
body.tt-v24 .luxury-related-sidebar{padding:26px!important;border-radius:14px!important;background:linear-gradient(150deg,#082431,#103c4b)!important}
body.tt-v24 .luxury-related-sidebar .related-title{color:#e2c48e!important;font-size:9px!important;letter-spacing:.12em!important}

/* ---------- static/about/resident ---------- */
body.tt-v24 .inner-hero{padding:148px 0 84px!important;background:linear-gradient(180deg,#f5f0e7,#fbfaf7)!important}
body.tt-v24 .inner-hero-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(360px,.78fr)!important;gap:68px!important;align-items:center!important}
body.tt-v24 .inner-hero h1{max-width:780px!important;margin:12px 0 18px!important;font-size:clamp(44px,5.4vw,70px)!important;line-height:1!important;letter-spacing:-.035em!important;color:var(--tt24-ink)!important}
body.tt-v24 .inner-hero p,body.tt-v24 .static-lead{max-width:720px!important;font-size:15px!important;line-height:1.9!important;color:var(--tt24-ink-soft)!important;text-align:justify!important}
body.tt-v24 .inner-hero-image{min-height:430px!important;border-radius:16px!important;box-shadow:var(--tt24-shadow)!important}
body.tt-v24 .inner-content-section{padding:72px 0 100px!important}
body.tt-v24 .content-prose-wrap{display:grid!important;grid-template-columns:minmax(0,1fr) 290px!important;gap:58px!important;align-items:start!important}
body.tt-v24 .content-prose{max-width:none!important;font-size:14px!important;line-height:1.95!important;color:#405b66!important;text-align:justify!important}
body.tt-v24 .content-prose p{text-align:justify!important}
body.tt-v24 .content-prose h2{font-size:31px!important;color:var(--tt24-ink)!important}
body.tt-v24 .content-prose h3{font-size:24px!important;color:var(--tt24-ink)!important}
body.tt-v24 .static-quick-access{position:sticky!important;top:112px!important;padding:24px!important;border-radius:14px!important;background:var(--tt24-night)!important;border:0!important;box-shadow:var(--tt24-shadow)!important}
body.tt-v24 .static-quick-access>span{display:block;margin-bottom:13px;font-size:9px!important;font-weight:900!important;letter-spacing:.13em!important;text-transform:uppercase;color:#e3c58f!important}
body.tt-v24 .static-quick-access a{display:grid!important;grid-template-columns:1fr auto!important;gap:16px!important;padding:16px 0!important;border-top:1px solid rgba(255,255,255,.11)!important;font-size:13px!important;font-weight:700!important;line-height:1.4!important;color:#fff!important}
body.tt-v24 .static-quick-access a b{color:#e3c58f!important}
body.tt-v24 .resident-feature-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:16px!important}
body.tt-v24 .resident-feature-card{padding:26px!important;border-radius:14px!important;border:1px solid var(--tt24-line)!important;background:#fff!important;box-shadow:0 12px 34px rgba(8,35,49,.055)!important}
body.tt-v24 .feature-icon{width:44px!important;height:44px!important;border-radius:10px!important;background:var(--tt24-ivory)!important;color:var(--tt24-gold-dark)!important}
body.tt-v24 .resident-feature-card h3{font-size:20px!important;color:var(--tt24-ink)!important}
body.tt-v24 .resident-feature-card p{font-size:11px!important;line-height:1.7!important;color:var(--tt24-muted)!important}

/* ---------- gallery index ---------- */
body.tt-v24 .gallery-page-heading{padding:150px 0 82px!important;background:linear-gradient(135deg,#082431,#123c49)!important;color:#fff!important}
body.tt-v24 .gallery-heading-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(300px,.48fr)!important;gap:70px!important;align-items:end!important}
body.tt-v24 .gallery-page-heading .section-kicker{color:#e2c38a!important}
body.tt-v24 .gallery-page-heading h1{max-width:800px!important;margin:12px 0 0!important;font-size:clamp(46px,5.5vw,74px)!important;line-height:1!important;letter-spacing:-.035em!important;color:#fff!important}
body.tt-v24 .gallery-page-heading p{margin:0!important;font-size:13px!important;line-height:1.85!important;color:rgba(255,255,255,.62)!important}
body.tt-v24 .album-page{padding:64px 0 100px!important;background:linear-gradient(180deg,#f7f3eb,#fbfaf7)!important}
body.tt-v24 .album-filter{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-bottom:30px!important}
body.tt-v24 .album-filter button{padding:9px 14px!important;border-radius:999px!important;border:1px solid var(--tt24-line)!important;background:#fff!important;color:var(--tt24-muted)!important;font-size:9px!important;font-weight:900!important}
body.tt-v24 .album-filter button.active,body.tt-v24 .album-filter button:hover{background:var(--tt24-night)!important;border-color:var(--tt24-night)!important;color:#fff!important}
body.tt-v24 .album-timeline-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important}
body.tt-v24 .album-card{display:grid!important;grid-template-columns:48% 52%!important;min-height:330px!important;border-radius:16px!important;border:1px solid var(--tt24-line)!important;background:#fff!important;overflow:hidden!important;box-shadow:0 18px 48px rgba(8,35,49,.065)!important;transition:.35s ease!important}
body.tt-v24 .album-card:nth-child(3n+1){grid-column:span 2!important;grid-template-columns:58% 42%!important;min-height:420px!important}
body.tt-v24 .album-card:hover{transform:translateY(-6px)!important;box-shadow:0 30px 78px rgba(8,35,49,.12)!important}
body.tt-v24 .album-cover{min-height:100%!important;background-size:cover!important;background-position:center!important}
body.tt-v24 .album-count{top:16px!important;left:16px!important;padding:7px 10px!important;border-radius:999px!important;background:rgba(6,30,43,.75)!important;color:#fff!important;font-size:8px!important;font-weight:900!important}
body.tt-v24 .album-view-icon{right:16px!important;bottom:16px!important;width:38px!important;height:38px!important;border-radius:50%!important;background:rgba(255,255,255,.9)!important;color:var(--tt24-night)!important}
body.tt-v24 .album-card-body{display:grid!important;grid-template-columns:62px 1fr!important;gap:18px!important;padding:30px 28px!important;align-content:center!important}
body.tt-v24 .album-date{padding-right:14px!important;border-right:1px solid var(--tt24-line)!important}
body.tt-v24 .album-date strong{font-size:32px!important;color:var(--tt24-night)!important}
body.tt-v24 .album-date span{font-size:8px!important;font-weight:900!important;color:var(--tt24-gold-dark)!important}
body.tt-v24 .album-category{font-size:8px!important;letter-spacing:.13em!important;color:var(--tt24-gold-dark)!important;font-weight:900!important}
body.tt-v24 .album-card-body h2{margin:8px 0 10px!important;font-size:26px!important;line-height:1.09!important;color:var(--tt24-ink)!important}
body.tt-v24 .album-card:nth-child(3n+1) .album-card-body h2{font-size:34px!important}
body.tt-v24 .album-card-body p{font-size:10px!important;color:var(--tt24-muted)!important}

/* ---------- album detail ---------- */
body.tt-v24 .album-detail-hero{min-height:610px!important}
body.tt-v24 .album-detail-hero::before{background:linear-gradient(180deg,rgba(4,21,31,.25),rgba(4,24,35,.84)),var(--album-cover) center/cover no-repeat!important}
body.tt-v24 .album-detail-hero-content{padding-top:170px!important;padding-bottom:78px!important}
body.tt-v24 .album-detail-meta{font-size:9px!important;color:#e1c18a!important}
body.tt-v24 .album-detail-hero h1{max-width:900px!important;margin:16px 0 14px!important;font-size:clamp(46px,5.8vw,78px)!important;line-height:1!important;letter-spacing:-.035em!important;color:#fff!important}
body.tt-v24 .album-detail-hero p{max-width:760px!important;font-size:13px!important;line-height:1.82!important;color:rgba(255,255,255,.68)!important}
body.tt-v24 .album-detail-section{background:linear-gradient(180deg,#f7f3eb,#fbfaf7)!important}
body.tt-v24 .album-intro{max-width:900px!important;margin:0 auto 56px!important;padding:34px 38px!important;border-radius:14px!important;background:#fff!important;border:1px solid var(--tt24-line)!important;box-shadow:0 14px 38px rgba(8,35,49,.05)!important}
body.tt-v24 .album-gallery-head{margin-bottom:24px!important;padding-bottom:17px!important;border-bottom:1px solid var(--tt24-line)!important}
body.tt-v24 .album-gallery-head h2{font-size:31px!important;color:var(--tt24-ink)!important}
body.tt-v24 .masonry-item{border-radius:12px!important;box-shadow:0 12px 34px rgba(8,35,49,.07)!important}
body.tt-v24 .related-album-grid a{border-radius:12px!important}

/* ---------- account ---------- */
body.tt-v24.tt-account{background:linear-gradient(180deg,#f5f0e7,#fbfaf7)!important}
body.tt-v24 .account-shell{min-height:100vh!important;padding:80px 28px!important;background:transparent!important}
body.tt-v24 .account-card{width:min(1120px,100%)!important;margin:auto!important;padding:42px!important;border-radius:18px!important;border:1px solid var(--tt24-line)!important;background:#fff!important;box-shadow:var(--tt24-shadow-lg)!important;color:var(--tt24-ink)!important}
body.tt-v24 .account-card .brand-text strong{color:var(--tt24-ink)!important}
body.tt-v24 .account-card .brand-text small{color:var(--tt24-muted)!important}
body.tt-v24 .account-card h1{font-size:42px!important;line-height:1.05!important;color:var(--tt24-ink)!important}
body.tt-v24 .account-card>div p{color:var(--tt24-muted)!important}
body.tt-v24 .resident-status{border-radius:999px!important}
body.tt-v24 .account-item{border-radius:12px!important;border:1px solid var(--tt24-line)!important;background:var(--tt24-ivory-2)!important;color:var(--tt24-ink)!important}
body.tt-v24 .member-panel{border-radius:14px!important;border:1px solid var(--tt24-line)!important;background:#fff!important;box-shadow:0 12px 30px rgba(8,35,49,.045)!important}
body.tt-v24 .member-panel h2{font-size:26px!important;color:var(--tt24-ink)!important}
body.tt-v24 .member-service-links a{border-radius:10px!important;background:var(--tt24-ivory-2)!important;color:var(--tt24-ink)!important}

/* ---------- footer ---------- */
body.tt-v24 footer{background:#061f2c!important;border-top:1px solid rgba(255,255,255,.06)!important}
body.tt-v24 .footer-inner{min-height:118px!important}
body.tt-v24 .footer-note{font-size:10px!important;letter-spacing:.03em!important;color:rgba(255,255,255,.48)!important}

/* ---------- motion ---------- */
@media (prefers-reduced-motion:no-preference){
  body.tt-v24 .luxury-editorial-card,body.tt-v24 .album-card,body.tt-v24 .activity-card,body.tt-v24 .notice-row,body.tt-v24 .sponsor-button{transition-timing-function:cubic-bezier(.2,.72,.2,1)!important}
}

/* ---------- tablet ---------- */
@media(max-width:1024px){
  body.tt-v24 .container{width:min(100% - 36px,1200px)}
  body.tt-v24 .notice-shell{width:min(100% - 36px,1200px)!important;grid-template-columns:1fr!important}
  body.tt-v24 .notice-main{min-height:350px!important;padding:48px!important}
  body.tt-v24 .notice-list{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:12px!important}
  body.tt-v24 .notice-list-title{grid-column:1/-1!important}
  body.tt-v24 .notice-row{grid-template-columns:52px 1fr!important;border:1px solid var(--tt24-line)!important;padding:14px!important;border-radius:12px!important}
  body.tt-v24 .notice-row .mini-arrow{display:none!important}
  body.tt-v24 .section-head{grid-template-columns:1fr!important;gap:20px!important}
  body.tt-v24 .activity-card{flex-basis:calc(50% - 9px)!important}
  body.tt-v24 .luxury-editorial-card{grid-template-columns:40% 60%!important}
  body.tt-v24 .album-card,body.tt-v24 .album-card:nth-child(3n+1){grid-column:auto!important;grid-template-columns:1fr!important;min-height:auto!important}
  body.tt-v24 .album-cover{min-height:300px!important}
  body.tt-v24 .inner-hero-grid{grid-template-columns:1fr 1fr!important;gap:38px!important}
  body.tt-v24 .resident-feature-grid{grid-template-columns:repeat(2,1fr)!important}
}

/* ---------- mobile ---------- */
@media(max-width:767px){
  body.tt-v24 .desktop-nav,body.tt-v24 .header-actions .lang-desktop,body.tt-v24 .header-actions .login-desktop,body.tt-v24 .header-actions .register-desktop{display:none!important}
  body.tt-v24 .menu-toggle{display:grid!important}
  body.tt-v24 .container{width:calc(100% - 28px)!important}
  body.tt-v24 .site-header{padding:12px 12px!important}
  body.tt-v24 .header-shell{min-height:64px!important;padding:7px 8px 7px 12px!important;border-radius:14px!important}
  body.tt-v24 .brand img{width:34px!important}
  body.tt-v24 .brand-text strong{font-size:14px!important}
  body.tt-v24 .brand-text small{font-size:7px!important}
  body.tt-v24 .mobile-menu{top:84px!important;left:12px!important;right:12px!important;border-radius:14px!important;background:rgba(6,31,44,.98)!important}
  body.tt-v24 .mobile-menu a,body.tt-v24 .mobile-menu .mobile-btn{font-size:14px!important;padding:15px 13px!important}
  body.tt-v24.tt-home .hero h1{font-size:clamp(42px,13vw,60px)!important}
  body.tt-v24 .notice-center{padding:56px 0 46px!important}
  body.tt-v24 .notice-shell{width:calc(100% - 28px)!important;border-radius:14px!important}
  body.tt-v24 .notice-main{min-height:auto!important;padding:38px 26px 40px!important}
  body.tt-v24 .notice-main h2{font-size:34px!important;line-height:1.06!important}
  body.tt-v24 .notice-main p{font-size:12px!important}
  body.tt-v24 .notice-list{display:block!important;padding:24px 20px!important}
  body.tt-v24 .notice-row{margin-top:10px!important}
  body.tt-v24 .sponsor-board{padding-bottom:58px!important}
  body.tt-v24 .sponsor-shell{width:calc(100% - 28px)!important;border-radius:14px!important}
  body.tt-v24 .sponsor-slide{grid-template-columns:1fr!important;gap:14px!important;padding:20px!important}
  body.tt-v24 .sponsor-logo-box{width:110px!important;height:66px!important}
  body.tt-v24 .sponsor-button{justify-self:start!important}
  body.tt-v24 section.block{padding:68px 0!important}
  body.tt-v24 .section-title{font-size:38px!important}
  body.tt-v24 .cards{grid-template-columns:1fr!important}
  body.tt-v24 .cards .card-media{min-height:220px!important}
  body.tt-v24 .upcoming-event-feature{grid-template-columns:1fr auto!important;gap:12px!important;padding:18px!important}
  body.tt-v24 .upcoming-label,body.tt-v24 .upcoming-copy{grid-column:1!important}
  body.tt-v24 .upcoming-date{grid-column:2!important;grid-row:1/3!important;border:0!important;padding:0!important;text-align:right!important}
  body.tt-v24 .upcoming-arrow{display:none!important}
  body.tt-v24 .activity-card{flex-basis:86%!important;min-height:430px!important}
  body.tt-v24 .activity-content{padding:24px!important}
  body.tt-v24 .activity-content h3{font-size:27px!important}
  body.tt-v24 .page-heading,body.tt-v24 .luxury-news-heading{min-height:330px!important;padding:122px 0 54px!important}
  body.tt-v24 .luxury-heading-grid{grid-template-columns:1fr!important;gap:24px!important}
  body.tt-v24 .luxury-news-heading h1{font-size:46px!important}
  body.tt-v24 .luxury-heading-stat{display:none!important}
  body.tt-v24 .luxury-news-toolbar{display:block!important}
  body.tt-v24 .luxury-news-toolbar>span{display:none!important}
  body.tt-v24 .luxury-editorial-grid{grid-template-columns:1fr!important}
  body.tt-v24 .luxury-editorial-card,body.tt-v24 .luxury-editorial-card.is-featured{grid-column:auto!important;grid-template-columns:1fr!important;min-height:auto!important}
  body.tt-v24 .luxury-editorial-image{min-height:250px!important}
  body.tt-v24 .luxury-editorial-body{grid-template-columns:52px 1fr!important;padding:24px 20px!important}
  body.tt-v24 .is-featured .luxury-card-copy h2,body.tt-v24 .luxury-card-copy h2{font-size:25px!important}
  body.tt-v24 .detail-hero-content{padding-top:140px!important;padding-bottom:54px!important}
  body.tt-v24 .detail-hero h1{font-size:42px!important}
  body.tt-v24 .luxury-detail-layout{grid-template-columns:1fr!important}
  body.tt-v24 .luxury-article{padding:28px 22px!important;border-radius:12px!important}
  body.tt-v24 .luxury-article .article-lead{font-size:19px!important;text-align:left!important}
  body.tt-v24 .luxury-article-content,body.tt-v24 .luxury-article-content p{text-align:left!important}
  body.tt-v24 .inner-hero{padding:120px 0 60px!important}
  body.tt-v24 .inner-hero-grid{grid-template-columns:1fr!important;gap:30px!important}
  body.tt-v24 .inner-hero h1{font-size:44px!important}
  body.tt-v24 .inner-hero p,body.tt-v24 .static-lead{text-align:left!important;font-size:13px!important}
  body.tt-v24 .inner-hero-image{min-height:300px!important}
  body.tt-v24 .content-prose-wrap{grid-template-columns:1fr!important;gap:34px!important}
  body.tt-v24 .content-prose,body.tt-v24 .content-prose p{text-align:left!important}
  body.tt-v24 .static-quick-access{position:static!important}
  body.tt-v24 .resident-feature-grid{grid-template-columns:1fr!important}
  body.tt-v24 .gallery-page-heading{padding:126px 0 58px!important}
  body.tt-v24 .gallery-heading-grid{grid-template-columns:1fr!important;gap:22px!important}
  body.tt-v24 .gallery-page-heading h1{font-size:46px!important}
  body.tt-v24 .album-timeline-grid{grid-template-columns: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}
  body.tt-v24 .album-cover{min-height:260px!important}
  body.tt-v24 .album-card-body{padding:24px 20px!important}
  body.tt-v24 .album-card:nth-child(3n+1) .album-card-body h2,body.tt-v24 .album-card-body h2{font-size:24px!important}
  body.tt-v24 .album-detail-hero{min-height:520px!important}
  body.tt-v24 .album-detail-hero-content{padding-top:145px!important;padding-bottom:54px!important}
  body.tt-v24 .album-detail-hero h1{font-size:44px!important}
  body.tt-v24 .album-intro{padding:24px 20px!important}
  body.tt-v24 .account-shell{padding:28px 14px!important}
  body.tt-v24 .account-card{padding:24px 18px!important;border-radius:14px!important}
  body.tt-v24 .account-card h1{font-size:34px!important}
  body.tt-v24 footer .footer-inner{flex-direction:column!important;align-items:flex-start!important;gap:18px!important;padding:26px 0!important}
}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/community-v25.css */
/* Tulip Tower V25 — Playfair Editorial System
   Loaded after community-v24.css. Google Playfair Display is the default typeface.
*/
:root{
  --tt25-font:"Playfair Display",Georgia,"Times New Roman",serif;
  --tt25-navy:#0a2a3d;
  --tt25-navy-deep:#061c2a;
  --tt25-ink:#153342;
  --tt25-muted:#6f7f86;
  --tt25-gold:#b58a50;
  --tt25-gold-soft:#d7bd91;
  --tt25-ivory:#f7f3eb;
  --tt25-paper:#fffdfa;
  --tt25-line:rgba(10,42,61,.12);
}

html,body.tt-v24{font-family:var(--tt25-font)!important}
body.tt-v24{
  font-weight:400!important;
  font-synthesis:none;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
body.tt-v24 p,body.tt-v24 a,body.tt-v24 li,body.tt-v24 label,
body.tt-v24 button,body.tt-v24 input,body.tt-v24 textarea,body.tt-v24 select,
body.tt-v24 option,body.tt-v24 small,body.tt-v24 td,body.tt-v24 th,
body.tt-v24 strong,body.tt-v24 em,body.tt-v24 span:not(.fa):not(.fal):not(.far):not(.fas):not(.fab):not([class^="ri-"]):not([class*=" ri-"]){
  font-family:var(--tt25-font)!important;
}
body.tt-v24 h1,body.tt-v24 h2,body.tt-v24 h3,body.tt-v24 h4,body.tt-v24 h5,body.tt-v24 h6,
body.tt-v24 .section-title,body.tt-v24 .brand-text strong{
  font-family:var(--tt25-font)!important;
  font-weight:600!important;
  font-synthesis:none;
  letter-spacing:-.018em!important;
}
body.tt-v24 .desktop-nav a,body.tt-v24 .mobile-menu>a,body.tt-v24 .mobile-menu .mobile-btn,
body.tt-v24 .header-actions .btn,body.tt-v24 .lang-switch button,body.tt-v24 .inner-header .lang-switch a{
  font-family:var(--tt25-font)!important;
  font-weight:600!important;
  letter-spacing:.015em!important;
  text-transform:none!important;
}
body.tt-v24 .desktop-nav a{font-size:15px!important;line-height:1.2!important}
body.tt-v24 .mobile-menu>a,body.tt-v24 .mobile-menu .mobile-btn{font-size:15px!important;line-height:1.35!important}
body.tt-v24 .brand-text strong{font-size:19px!important;letter-spacing:.035em!important}
body.tt-v24 .brand-text small{font-family:var(--tt25-font)!important;font-size:9px!important;font-weight:500!important;letter-spacing:.16em!important}

/* Community introduction: stronger editorial composition. */
body.tt-v24 .community-story-section{
  padding:88px 0 36px!important;
  background:linear-gradient(180deg,#fff 0%,#fbfaf7 100%)!important;
}
body.tt-v24 .community-story{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.72fr);
  gap:72px;
  align-items:end;
  padding:48px 52px;
  overflow:hidden;
  border:1px solid rgba(10,42,61,.10);
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0%,rgba(215,189,145,.18),transparent 36%),
    linear-gradient(135deg,#fff 0%,#fbf8f1 100%);
  box-shadow:0 24px 70px rgba(7,30,43,.07);
}
body.tt-v24 .community-story:before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;width:4px;
  background:linear-gradient(180deg,var(--tt25-gold-soft),var(--tt25-gold));
}
body.tt-v24 .community-story-main{position:relative;z-index:1}
body.tt-v24 .community-story .section-kicker{
  color:var(--tt25-gold)!important;
  font-size:10px!important;
  font-weight:600!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
body.tt-v24 .community-story .section-title{
  margin:14px 0 0!important;
  max-width:760px;
  font-size:clamp(40px,4.2vw,62px)!important;
  line-height:1.04!important;
  color:var(--tt25-navy)!important;
}
body.tt-v24 .community-story-rule{
  width:86px;height:1px;margin-top:28px;
  background:linear-gradient(90deg,var(--tt25-gold),rgba(181,138,80,0));
}
body.tt-v24 .community-story-aside{
  position:relative;z-index:1;
  padding-left:32px;
  border-left:1px solid rgba(10,42,61,.10);
}
body.tt-v24 .community-story .section-copy{
  margin:0!important;
  max-width:570px;
  color:#586c75!important;
  font-size:15px!important;
  line-height:1.82!important;
  text-align:justify;
}
body.tt-v24 .community-story-points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:30px;
}
body.tt-v24 .community-story-points span{
  display:flex;flex-direction:column;gap:7px;
  min-height:76px;
  padding:14px 12px;
  border-top:1px solid rgba(181,138,80,.42);
}
body.tt-v24 .community-story-points b{
  color:var(--tt25-gold)!important;
  font-size:11px!important;
  font-weight:600!important;
  letter-spacing:.08em!important;
}
body.tt-v24 .community-story-points em{
  color:var(--tt25-ink)!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-style:normal!important;
  font-weight:600!important;
}

/* Three resident access cards in one balanced row. */
body.tt-v24 .community-access-section{
  padding:28px 0 96px!important;
  background:#fbfaf7!important;
}
body.tt-v24 .community-access-section .cards{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
}
body.tt-v24 .community-access-section .cards>.card{
  display:flex!important;
  flex-direction:column!important;
  min-width:0;
  border:1px solid rgba(10,42,61,.10)!important;
  border-radius:18px!important;
  background:var(--tt25-paper)!important;
  box-shadow:0 18px 50px rgba(8,35,49,.055)!important;
  transition:transform .38s cubic-bezier(.2,.7,.2,1),box-shadow .38s ease,border-color .38s ease!important;
}
body.tt-v24 .community-access-section .cards>.card:nth-child(2){background:#f9f4ea!important}
body.tt-v24 .community-access-section .cards>.card:nth-child(3){background:#fff!important}
body.tt-v24 .community-access-section .cards>.card:hover{
  transform:translateY(-7px);
  border-color:rgba(181,138,80,.35)!important;
  box-shadow:0 26px 70px rgba(8,35,49,.10)!important;
}
body.tt-v24 .community-access-section .card-media{
  min-height:215px!important;
  overflow:hidden;
  filter:saturate(.88) contrast(.98);
  transition:filter .35s ease,transform .55s cubic-bezier(.2,.7,.2,1)!important;
}
body.tt-v24 .community-access-section .card:hover .card-media{filter:saturate(1) contrast(1.02)}
body.tt-v24 .community-access-section .card-body{
  display:flex!important;
  flex:1;
  flex-direction:column;
  align-items:flex-start;
  padding:28px 30px 31px!important;
}
body.tt-v24 .community-access-section .pill{
  padding:6px 10px!important;
  background:transparent!important;
  border:1px solid rgba(181,138,80,.30)!important;
  color:#956f3d!important;
  font-size:9px!important;
  font-weight:600!important;
  letter-spacing:.08em!important;
}
body.tt-v24 .community-access-section .card-body h3{
  margin:17px 0 11px!important;
  font-size:27px!important;
  line-height:1.16!important;
  color:var(--tt25-navy)!important;
}
body.tt-v24 .community-access-section .card-body p{
  margin:0 0 24px!important;
  color:#6a7b82!important;
  font-size:13px!important;
  line-height:1.78!important;
}
body.tt-v24 .community-access-section .text-link{
  margin-top:auto!important;
  color:#946c39!important;
  font-size:11px!important;
  font-weight:600!important;
  letter-spacing:.02em!important;
}

@media(max-width:1100px){
  body.tt-v24 .community-story{grid-template-columns:1fr!important;gap:34px!important;padding:42px!important}
  body.tt-v24 .community-story-aside{padding-left:0;border-left:0;border-top:1px solid rgba(10,42,61,.10);padding-top:28px}
  body.tt-v24 .community-access-section .cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.tt-v24 .community-access-section .cards>.card:last-child{grid-column:1/-1;display:grid!important;grid-template-columns:minmax(280px,.8fr) minmax(0,1fr)!important}
  body.tt-v24 .community-access-section .cards>.card:last-child .card-media{height:100%;min-height:260px!important}
}
@media(max-width:720px){
  body.tt-v24 .community-story-section{padding:58px 0 20px!important}
  body.tt-v24 .community-story{padding:32px 24px;border-radius:16px!important}
  body.tt-v24 .community-story .section-title{font-size:38px!important;line-height:1.08!important}
  body.tt-v24 .community-story .section-copy{text-align:left;font-size:14px!important}
  body.tt-v24 .community-story-points{grid-template-columns:1fr!important;gap:0;margin-top:22px}
  body.tt-v24 .community-story-points span{min-height:0;display:grid;grid-template-columns:34px 1fr;align-items:center;padding:11px 0}
  body.tt-v24 .community-access-section{padding:24px 0 68px!important}
  body.tt-v24 .community-access-section .cards{grid-template-columns:1fr!important}
  body.tt-v24 .community-access-section .cards>.card:last-child{grid-column:auto;display:flex!important}
  body.tt-v24 .community-access-section .card-media,body.tt-v24 .community-access-section .cards>.card:last-child .card-media{min-height:210px!important;height:auto}
  body.tt-v24 .community-access-section .card-body{padding:25px 24px 28px!important}
  body.tt-v24 .community-access-section .card-body h3{font-size:25px!important}
  body.tt-v24 .desktop-nav a{font-size:14px!important}
}

/* V25.1 — Typography readability audit
   Increase previously undersized labels/meta/copy by 1–2px while preserving layout. */
body.tt-v24 .hero-main-title span{display:block}
body.tt-v24 .desktop-nav a{font-size:16px!important}
body.tt-v24 .mobile-menu>a,body.tt-v24 .mobile-menu .mobile-btn{font-size:16px!important}
body.tt-v24 .brand-text strong{font-size:20px!important}
body.tt-v24 .brand-text small{font-size:10px!important;letter-spacing:.14em!important}
body.tt-v24 .btn{font-size:13px!important}
body.tt-v24 .lang-switch button,body.tt-v24 .inner-header .lang-switch a,body.tt-v24 .mobile-lang a{font-size:11px!important}

/* Hero / header microcopy */
body.tt-v24.tt-home .eyebrow,body.tt-v24 .eyebrow{font-size:11px!important}
body.tt-v24 .activity-chip .k{font-size:11px!important}
body.tt-v24 .activity-chip p{font-size:14px!important}
body.tt-v24 .metric span{font-size:12px!important}
body.tt-v24 .hero-card .tag{font-size:11px!important}
body.tt-v24 .quick-link b{font-size:14px!important}
body.tt-v24 .quick-link small{font-size:12px!important}
body.tt-v24 .hero-bottom .lb{font-size:11px!important}
body.tt-v24 .hero-bottom .txt{font-size:13px!important}

/* Section labels and supporting copy */
body.tt-v24 .section-kicker{font-size:11px!important}
body.tt-v24 .section-copy{font-size:15px!important;line-height:1.82!important}
body.tt-v24 .community-story .section-kicker{font-size:11px!important}
body.tt-v24 .community-story .section-copy{font-size:16px!important;line-height:1.78!important}
body.tt-v24 .community-story-points b{font-size:12px!important}
body.tt-v24 .community-story-points em{font-size:14px!important;line-height:1.42!important}

/* Home access cards */
body.tt-v24 .community-access-section .pill,body.tt-v24 .cards .pill{font-size:11px!important}
body.tt-v24 .community-access-section .card-body p,body.tt-v24 .cards .card-body p{font-size:14px!important;line-height:1.72!important}
body.tt-v24 .community-access-section .text-link,body.tt-v24 .cards .text-link{font-size:13px!important}

/* Notice strip and sponsor */
body.tt-v24 .new-badge{font-size:10px!important}
body.tt-v24 .notice-topline .meta{font-size:11px!important}
body.tt-v24 .notice-main p{font-size:15px!important;line-height:1.78!important}
body.tt-v24 .notice-action{font-size:12px!important}
body.tt-v24 .notice-list-title{font-size:11px!important}
body.tt-v24 .notice-date{font-size:10px!important}
body.tt-v24 .notice-row strong{font-size:14px!important}
body.tt-v24 .notice-row small{font-size:11px!important}
body.tt-v24 .sponsor-label,body.tt-v24 .sponsor-cta,body.tt-v24 .sponsor-copy .s-mini{font-size:10px!important}
body.tt-v24 .sponsor-copy p{font-size:13px!important;line-height:1.68!important}
body.tt-v24 .sponsor-button{font-size:11px!important}

/* Activities / upcoming */
body.tt-v24 .upcoming-label{font-size:10px!important}
body.tt-v24 .upcoming-date small{font-size:10px!important}
body.tt-v24 .upcoming-copy small{font-size:11px!important}
body.tt-v24 .activity-date{font-size:10px!important}
body.tt-v24 .activity-content p{font-size:13px!important;line-height:1.72!important}
body.tt-v24 .activity-meta-line{font-size:10px!important}
body.tt-v24 .activity-content .text-link{font-size:11px!important}

/* Utility / resident quick tools */
body.tt-v24 .tool strong{font-size:14px!important}
body.tt-v24 .tool small{font-size:12px!important;line-height:1.6!important}
body.tt-v24 .resident-feature-card p{font-size:13px!important}
body.tt-v24 .auth-user-chip{font-size:12px!important}
body.tt-v24 .resident-status{font-size:10px!important}
body.tt-v24 .account-item small{font-size:10px!important}
body.tt-v24 .account-item strong{font-size:14px!important}

/* Inner pages: notices, activities, gallery, static content */
body.tt-v24 .inner-hero p,body.tt-v24 .page-heading p,body.tt-v24 .gallery-page-heading p{font-size:15px!important;line-height:1.78!important}
body.tt-v24 .inner-side-card>span,body.tt-v24 .related-title,body.tt-v24 .static-quick-access>span{font-size:11px!important}
body.tt-v24 .inner-side-card a{font-size:13px!important}
body.tt-v24 .luxury-news-heading p{font-size:15px!important}
body.tt-v24 .luxury-heading-stat small{font-size:10px!important}
body.tt-v24 .luxury-news-toolbar{font-size:10px!important}
body.tt-v24 .luxury-news-toolbar>div{font-size:11px!important}
body.tt-v24 .luxury-card-date span,body.tt-v24 .luxury-card-date small,body.tt-v24 .luxury-card-meta{font-size:10px!important}
body.tt-v24 .luxury-card-copy p{font-size:13px!important;line-height:1.74!important}
body.tt-v24 .luxury-readmore{font-size:11px!important}
body.tt-v24 .detail-back,body.tt-v24 .detail-meta,body.tt-v24 .album-detail-meta{font-size:11px!important}
body.tt-v24 .luxury-related-sidebar .related-title{font-size:11px!important}
body.tt-v24 .related-item span{font-size:10px!important}
body.tt-v24 .related-item strong{font-size:12px!important}
body.tt-v24 .editorial-meta{font-size:10px!important}
body.tt-v24 .editorial-body p{font-size:13px!important;line-height:1.72!important}
body.tt-v24 .simple-pagination a,body.tt-v24 .simple-pagination>span:not(.disabled){font-size:12px!important}

/* Gallery */
body.tt-v24 .album-filter button{font-size:11px!important}
body.tt-v24 .album-count,body.tt-v24 .album-date span,body.tt-v24 .album-category{font-size:10px!important}
body.tt-v24 .album-card-body p{font-size:12px!important}
body.tt-v24 .album-detail-hero p{font-size:15px!important}
body.tt-v24 .home-album-info small,body.tt-v24 .home-album-cover>span{font-size:10px!important}
body.tt-v24 .home-album-info p{font-size:12px!important}

/* Forms / footer */
body.tt-v24 label{font-size:12px!important}
body.tt-v24 .form-note{font-size:12px!important}
body.tt-v24 .dialog p{font-size:14px!important}
body.tt-v24 .footer-note{font-size:12px!important;line-height:1.7!important}

@media(max-width:720px){
  body.tt-v24 .desktop-nav a{font-size:15px!important}
  body.tt-v24 .mobile-menu>a,body.tt-v24 .mobile-menu .mobile-btn{font-size:16px!important}
  body.tt-v24 .community-story .section-copy{font-size:15px!important;text-align:left!important}
  body.tt-v24 .section-copy{font-size:14px!important}
  body.tt-v24 .inner-hero p,body.tt-v24 .page-heading p,body.tt-v24 .gallery-page-heading p{font-size:14px!important}
}

/* Weather / ticker / small navigation text */
body.tt-v24 .weather-current strong{font-size:11px!important}
body.tt-v24 .weather-current small{font-size:9px!important}
body.tt-v24 .weather-current .w-temp{font-size:14px!important}
body.tt-v24 .weather-preset.auto{font-size:10px!important}
body.tt-v24 .notice-fab{font-size:12px!important}
body.tt-v24 .notice-fab .count{font-size:9px!important}
body.tt-v24 .notice-line-label{font-size:11px!important}
body.tt-v24 .notice-line-track{font-size:13px!important}
body.tt-v24 .notice-line-cta{font-size:11px!important}
body.tt-v24 .quick-links .quick-link:first-child::after{font-size:9px!important}
body.tt-v24 .gallery-grid figcaption{font-size:13px!important}

@media(max-width:720px){
  body.tt-v24 .weather-preset.auto{font-size:9px!important}
  body.tt-v24 .notice-line-label{font-size:10px!important}
  body.tt-v24 .notice-line-track{font-size:11px!important}
  body.tt-v24 .notice-line-cta{font-size:10px!important}
}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/community-v25-2.css */
/* ============================================================
   TULIP TOWER V25.2 — SOFT CONTRAST + SPLIT PAGE PERSONALITY
   Loaded after V25. Keeps Playfair Display as the global typeface.
   Goals: lower saturation, stronger readability, +1px micro type,
   simple information page, more visual activity page.
   ============================================================ */
:root{
  --tt24-night:#17343e;
  --tt24-night-2:#203f48;
  --tt24-night-3:#31545c;
  --tt24-ink:#263d44;
  --tt24-ink-soft:#4d6268;
  --tt24-muted:#5b6c71;
  --tt24-ivory:#f2eee6;
  --tt24-ivory-2:#f8f6f1;
  --tt24-paper:#fffdfa;
  --tt24-mist:#e6e9e5;
  --tt24-sage:#8d9e99;
  --tt24-gold:#9a7c55;
  --tt24-gold-dark:#755b3c;
  --tt24-gold-soft:#ded0b8;
  --tt24-line:rgba(34,61,69,.12);
  --tt24-line-light:rgba(255,255,255,.13);
  --tt24-shadow:0 18px 55px rgba(27,50,58,.08);
  --tt24-shadow-lg:0 26px 78px rgba(27,50,58,.11);
  --tt25-navy:#17343e;
  --tt25-navy-deep:#102a33;
  --tt25-ink:#263d44;
  --tt25-muted:#5b6c71;
  --tt25-gold:#9a7c55;
  --tt25-gold-soft:#ded0b8;
  --tt25-ivory:#f2eee6;
  --tt25-paper:#fffdfa;
  --tt25-line:rgba(34,61,69,.12);
}

body.tt-v24{background:#f8f6f1!important;color:#263d44!important}
body.tt-v24 .header-shell,
body.tt-v24 .site-header.scrolled .header-shell,
body.tt-v24 .inner-header .header-shell{background:rgba(23,52,62,.95)!important;box-shadow:0 16px 44px rgba(19,42,50,.13)!important}
body.tt-v24 .desktop-nav a{color:rgba(255,255,255,.82)!important}
body.tt-v24 .desktop-nav a:hover,body.tt-v24 .desktop-nav a.active{color:#fff!important}
body.tt-v24 .btn-light{background:#f2eee6!important;color:#17343e!important}
body.tt-v24 .btn-outline{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.25)!important}
body.tt-v24 ::selection{background:rgba(154,124,85,.22)!important;color:#17343e!important}

/* Calm home palette: preserve composition while reducing cyan/gold saturation. */
body.tt-v24 .notice-center{background:linear-gradient(180deg,#f6f3ed 0%,#fbfaf7 100%)!important}
body.tt-v24 .notice-main{background:linear-gradient(135deg,#17343e 0%,#244852 100%)!important}
body.tt-v24 .notice-main p{color:rgba(255,255,255,.82)!important}
body.tt-v24 .notice-list{background:#fffdfa!important}
body.tt-v24 .notice-row{border-color:rgba(34,61,69,.10)!important}
body.tt-v24 .notice-row:hover{background:#f4f0e8!important}
body.tt-v24 .new-badge,body.tt-v24 .notice-date{background:#eee7dc!important;color:#765c3e!important;border-color:#ded0b8!important}
body.tt-v24 .sponsor-strip,body.tt-v24 .sponsor-shell{background:#203d46!important}
body.tt-v24 .activity-section,body.tt-v24 .activity-luxury-section{background:#1b3740!important}
body.tt-v24 .resident-section{background:#f2eee6!important}
body.tt-v24 .footer,body.tt-v24 .inner-footer{background:#17343e!important}
body.tt-v24 .text-link,body.tt-v24 .luxury-readmore,body.tt-v24 .activity-content .text-link{color:#846844!important}

/* One-size readability lift for all small UI text left from V25.1. */
body.tt-v24 .brand-text small{font-size:11px!important}
body.tt-v24 .lang-switch button,body.tt-v24 .inner-header .lang-switch a,body.tt-v24 .mobile-lang a{font-size:12px!important}
body.tt-v24 .eyebrow,body.tt-v24.tt-home .eyebrow{font-size:12px!important}
body.tt-v24 .activity-chip .k{font-size:12px!important}
body.tt-v24 .metric span{font-size:13px!important}
body.tt-v24 .hero-card .tag{font-size:12px!important}
body.tt-v24 .quick-link small{font-size:13px!important}
body.tt-v24 .hero-bottom .lb{font-size:12px!important}
body.tt-v24 .section-kicker{font-size:12px!important}
body.tt-v24 .community-story-points b{font-size:13px!important}
body.tt-v24 .community-access-section .pill,body.tt-v24 .cards .pill{font-size:12px!important}
body.tt-v24 .new-badge{font-size:11px!important}
body.tt-v24 .notice-topline .meta{font-size:12px!important}
body.tt-v24 .notice-action{font-size:13px!important}
body.tt-v24 .notice-list-title{font-size:12px!important}
body.tt-v24 .notice-date{font-size:11px!important}
body.tt-v24 .notice-row small{font-size:12px!important}
body.tt-v24 .sponsor-label,body.tt-v24 .sponsor-cta,body.tt-v24 .sponsor-copy .s-mini{font-size:11px!important}
body.tt-v24 .sponsor-button{font-size:12px!important}
body.tt-v24 .upcoming-label{font-size:11px!important}
body.tt-v24 .upcoming-date small{font-size:11px!important}
body.tt-v24 .upcoming-copy small{font-size:12px!important}
body.tt-v24 .activity-date{font-size:11px!important}
body.tt-v24 .activity-meta-line{font-size:11px!important}
body.tt-v24 .activity-content .text-link{font-size:12px!important}
body.tt-v24 .tool small{font-size:13px!important}
body.tt-v24 .auth-user-chip{font-size:13px!important}
body.tt-v24 .resident-status{font-size:11px!important}
body.tt-v24 .account-item small{font-size:11px!important}
body.tt-v24 .inner-side-card>span,body.tt-v24 .related-title,body.tt-v24 .static-quick-access>span{font-size:12px!important}
body.tt-v24 .luxury-heading-stat small{font-size:11px!important}
body.tt-v24 .luxury-news-toolbar{font-size:11px!important}
body.tt-v24 .luxury-news-toolbar>div{font-size:12px!important}
body.tt-v24 .luxury-card-date span,body.tt-v24 .luxury-card-date small,body.tt-v24 .luxury-card-meta{font-size:11px!important}
body.tt-v24 .luxury-readmore{font-size:12px!important}
body.tt-v24 .detail-back,body.tt-v24 .detail-meta,body.tt-v24 .album-detail-meta{font-size:12px!important}
body.tt-v24 .related-item span{font-size:11px!important}
body.tt-v24 .related-item strong{font-size:13px!important}
body.tt-v24 .editorial-meta{font-size:11px!important}
body.tt-v24 .simple-pagination a,body.tt-v24 .simple-pagination>span:not(.disabled){font-size:13px!important}
body.tt-v24 .album-filter button{font-size:12px!important}
body.tt-v24 .album-count,body.tt-v24 .album-date span,body.tt-v24 .album-category{font-size:11px!important}
body.tt-v24 .album-card-body p{font-size:13px!important}
body.tt-v24 .home-album-info small,body.tt-v24 .home-album-cover>span{font-size:11px!important}
body.tt-v24 .home-album-info p{font-size:13px!important}
body.tt-v24 label{font-size:13px!important}
body.tt-v24 .form-note{font-size:13px!important}
body.tt-v24 .footer-note{font-size:13px!important}
body.tt-v24 .weather-current strong{font-size:12px!important}
body.tt-v24 .weather-current small{font-size:10px!important}
body.tt-v24 .weather-preset.auto{font-size:11px!important}
body.tt-v24 .notice-fab{font-size:13px!important}
body.tt-v24 .notice-fab .count{font-size:10px!important}
body.tt-v24 .notice-line-label{font-size:12px!important}
body.tt-v24 .notice-line-track{font-size:14px!important}
body.tt-v24 .notice-line-cta{font-size:12px!important}
body.tt-v24 .quick-links .quick-link:first-child::after{font-size:10px!important}

/* ============================================================
   INFORMATION PAGE — quiet, simple, readable
   ============================================================ */
body.tt-v24.tt-info-simple .inner-main{background:#f8f6f1!important}
body.tt-v24 .info-page-hero{padding:152px 0 62px;background:#f2eee6;border-bottom:1px solid rgba(34,61,69,.10)}
body.tt-v24 .info-page-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:64px;align-items:end}
body.tt-v24 .info-page-title{max-width:780px}
body.tt-v24 .info-page-title .section-kicker{margin-bottom:14px;color:#856943!important;letter-spacing:.14em;text-transform:uppercase;font-weight:600!important}
body.tt-v24 .info-page-title h1{margin:0;color:#213942;font-size:clamp(48px,5vw,72px);line-height:1.02;letter-spacing:-.035em;font-weight:600}
body.tt-v24 .info-page-title p{max-width:720px;margin:22px 0 0;color:#52666c;font-size:17px;line-height:1.8}
body.tt-v24 .info-page-summary{display:flex;flex-direction:column;gap:5px;padding:22px 0 4px;border-top:1px solid rgba(34,61,69,.18);color:#213942}
body.tt-v24 .info-page-summary strong{font-size:46px;line-height:1;font-weight:500}
body.tt-v24 .info-page-summary span{font-size:13px;line-height:1.45;color:#5b6c71}
body.tt-v24 .info-list-section{padding:54px 0 96px;background:#fffdfa}
body.tt-v24 .info-list-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 0 18px;border-bottom:1px solid rgba(34,61,69,.13);color:#5b6c71}
body.tt-v24 .info-list-head strong{font-size:14px;color:#263d44;font-weight:600}
body.tt-v24 .info-list-head span{font-size:13px}
body.tt-v24 .info-list{display:flex;flex-direction:column}
body.tt-v24 .info-list-item{position:relative;display:grid;grid-template-columns:92px minmax(0,1fr) 46px;gap:28px;align-items:center;padding:34px 2px;border-bottom:1px solid rgba(34,61,69,.10);transition:background .25s ease,padding .25s ease}
body.tt-v24 .info-list-item:hover{padding-left:18px;padding-right:14px;background:#f6f3ed}
body.tt-v24 .info-list-item.is-important{border-left:3px solid #9a7c55;padding-left:20px}
body.tt-v24 .info-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:76px;height:82px;border:1px solid rgba(117,91,60,.20);border-radius:14px;background:#f2eee6;color:#263d44;text-decoration:none}
body.tt-v24 .info-date b{font-size:27px;line-height:1;font-weight:600}
body.tt-v24 .info-date span{margin-top:5px;font-size:11px;color:#755b3c!important;letter-spacing:.04em}
body.tt-v24 .info-date small{margin-top:2px;font-size:10px!important;color:#5b6c71}
body.tt-v24 .info-copy{min-width:0}
body.tt-v24 .info-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:9px;color:#596a70;font-size:12px}
body.tt-v24 .info-important{padding:4px 8px;border-radius:999px;background:#e9e0d2;color:#755b3c!important;font-size:11px!important;font-weight:600}
body.tt-v24 .info-copy h2{margin:0;font-size:26px;line-height:1.25;letter-spacing:-.018em;font-weight:600}
body.tt-v24 .info-copy h2 a{color:#213942;text-decoration:none}
body.tt-v24 .info-copy p{max-width:850px;margin:10px 0 0;color:#5c6f74;font-size:15px;line-height:1.72}
body.tt-v24 .info-arrow{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(34,61,69,.15);border-radius:50%;color:#263d44;text-decoration:none;font-size:20px;transition:.25s ease}
body.tt-v24 .info-list-item:hover .info-arrow{background:#263d44;border-color:#263d44;color:#fff;transform:translateX(3px)}
body.tt-v24 .info-empty{display:flex;flex-direction:column;gap:7px;padding:56px 0;color:#5b6c71}
body.tt-v24 .info-empty strong{font-size:24px;color:#263d44}
body.tt-v24 .info-empty span{font-size:15px}
body.tt-v24 .info-pagination{margin-top:38px}

/* ============================================================
   ACTIVITY PAGE — image-led, artistic, still restrained
   ============================================================ */
body.tt-v24.tt-activity-art .inner-main{background:#f8f6f1!important}
body.tt-v24 .activity-page-hero{padding:132px 0 56px;background:#17343e;color:#fff;overflow:hidden}
body.tt-v24 .activity-page-hero-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(440px,1.14fr);gap:64px;align-items:center}
body.tt-v24 .activity-page-intro{padding:36px 0 24px}
body.tt-v24 .activity-page-intro .section-kicker{color:#d8c7aa!important;letter-spacing:.14em;text-transform:uppercase}
body.tt-v24 .activity-page-intro h1{max-width:620px;margin:14px 0 20px;font-size:clamp(52px,5.4vw,78px);line-height:.98;letter-spacing:-.038em;color:#fff;font-weight:600}
body.tt-v24 .activity-page-intro p{max-width:610px;margin:0;color:rgba(255,255,255,.75);font-size:17px;line-height:1.78}
body.tt-v24 .activity-page-count{display:flex;align-items:baseline;gap:13px;margin-top:32px;padding-top:20px;border-top:1px solid rgba(255,255,255,.13)}
body.tt-v24 .activity-page-count strong{font-size:34px;color:#e1d2b8;font-weight:500}
body.tt-v24 .activity-page-count span{font-size:13px;color:rgba(255,255,255,.66)}
body.tt-v24 .activity-page-visual{position:relative;min-height:430px;border-radius:24px;background-size:cover;background-position:center;overflow:hidden;box-shadow:0 26px 75px rgba(5,22,28,.28)}
body.tt-v24 .activity-page-visual-shade{position:absolute;inset:0;background:linear-gradient(140deg,rgba(18,45,54,.05),rgba(12,35,43,.38))}
body.tt-v24 .activity-page-visual-label{position:absolute;left:28px;bottom:26px;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.23);background:rgba(23,52,62,.44);backdrop-filter:blur(8px);font-size:12px;color:#fff;letter-spacing:.08em}
body.tt-v24 .activity-art-section{padding:72px 0 104px;background:#f8f6f1}
body.tt-v24 .activity-art-head{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:30px}
body.tt-v24 .activity-art-head>div{display:flex;align-items:center;gap:12px}
body.tt-v24 .activity-art-head>div>span{width:34px;height:1px;background:#9a7c55}
body.tt-v24 .activity-art-head strong{font-size:15px;color:#263d44;font-weight:600}
body.tt-v24 .activity-art-head p{margin:0;color:#5b6c71;font-size:13px}
body.tt-v24 .activity-art-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
body.tt-v24 .activity-art-card{display:flex;flex-direction:column;min-width:0;border:1px solid rgba(34,61,69,.10);border-radius:20px;background:#fffdfa;overflow:hidden;box-shadow:0 16px 45px rgba(27,50,58,.065);transition:transform .35s ease,box-shadow .35s ease}
body.tt-v24 .activity-art-card:hover{transform:translateY(-6px);box-shadow:0 27px 70px rgba(27,50,58,.11)}
body.tt-v24 .activity-art-card.is-featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);min-height:500px}
body.tt-v24 .activity-art-image{position:relative;display:block;min-height:330px;background-size:cover;background-position:center;overflow:hidden}
body.tt-v24 .activity-art-card.is-featured .activity-art-image{min-height:500px}
body.tt-v24 .activity-art-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,48,57,.02) 35%,rgba(16,42,50,.45) 100%)}
body.tt-v24 .activity-art-date{position:absolute;left:22px;bottom:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:68px;height:72px;border-radius:13px;background:rgba(255,253,250,.93);color:#263d44;box-shadow:0 10px 30px rgba(11,34,41,.15)}
body.tt-v24 .activity-art-date b{font-size:27px;line-height:1;font-weight:600}
body.tt-v24 .activity-art-date small{margin-top:5px;font-size:11px!important;color:#755b3c}
body.tt-v24 .activity-art-featured{position:absolute;right:20px;top:20px;padding:8px 11px;border-radius:999px;background:rgba(23,52,62,.82);color:#f4ebdc;font-size:11px;letter-spacing:.06em;backdrop-filter:blur(8px)}
body.tt-v24 .activity-art-copy{padding:30px 30px 34px}
body.tt-v24 .activity-art-card.is-featured .activity-art-copy{display:flex;flex-direction:column;justify-content:center;padding:48px 44px}
body.tt-v24 .activity-art-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;color:#596a70;font-size:12px}
body.tt-v24 .activity-art-copy h2{margin:0;font-size:30px;line-height:1.12;letter-spacing:-.025em;font-weight:600}
body.tt-v24 .activity-art-card.is-featured .activity-art-copy h2{font-size:42px;line-height:1.05}
body.tt-v24 .activity-art-copy h2 a{color:#213942;text-decoration:none}
body.tt-v24 .activity-art-copy p{margin:14px 0 0;color:#5b6d72;font-size:15px;line-height:1.72}
body.tt-v24 .activity-art-link{display:inline-flex;align-items:center;gap:10px;width:max-content;margin-top:22px;color:#755b3c;text-decoration:none;font-size:13px;font-weight:600}
body.tt-v24 .activity-art-link span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;border:1px solid rgba(117,91,60,.25);transition:.25s ease}
body.tt-v24 .activity-art-link:hover span{background:#263d44;border-color:#263d44;color:#fff}
body.tt-v24 .activity-art-empty{grid-column:1/-1;display:flex;flex-direction:column;gap:7px;padding:60px 0;color:#5b6c71}
body.tt-v24 .activity-art-empty strong{font-size:26px;color:#263d44}
body.tt-v24 .activity-art-empty span{font-size:15px}
body.tt-v24 .activity-art-pagination{grid-column:1/-1;margin-top:10px}

/* Detail and gallery surfaces: softer contrast, less glare. */
body.tt-v24 .detail-hero,body.tt-v24 .album-detail-hero,body.tt-v24 .gallery-page-heading{background:linear-gradient(135deg,#17343e,#294b54)!important}
body.tt-v24 .article-card,body.tt-v24 .inner-card,body.tt-v24 .album-card,body.tt-v24 .member-panel{background:#fffdfa!important;border-color:rgba(34,61,69,.10)!important;box-shadow:0 15px 45px rgba(27,50,58,.065)!important}
body.tt-v24 .content-prose,body.tt-v24 .article-body{color:#344d54!important}
body.tt-v24 .content-prose p,body.tt-v24 .article-body p{color:#4e6268!important}

@media(max-width:1020px){
  body.tt-v24 .info-page-hero-grid{grid-template-columns:1fr;gap:30px}
  body.tt-v24 .info-page-summary{max-width:190px}
  body.tt-v24 .activity-page-hero-grid{grid-template-columns:1fr;gap:34px}
  body.tt-v24 .activity-page-visual{min-height:400px}
  body.tt-v24 .activity-art-card.is-featured{grid-template-columns:1fr}
  body.tt-v24 .activity-art-card.is-featured .activity-art-image{min-height:420px}
  body.tt-v24 .activity-art-card.is-featured .activity-art-copy{padding:34px 32px}
}

@media(max-width:720px){
  body.tt-v24 .brand-text small{font-size:10px!important}
  body.tt-v24 .notice-line-label{font-size:11px!important}
  body.tt-v24 .notice-line-track{font-size:12px!important}
  body.tt-v24 .notice-line-cta{font-size:11px!important}
  body.tt-v24 .weather-preset.auto{font-size:10px!important}
  body.tt-v24 .info-page-hero{padding:118px 0 42px}
  body.tt-v24 .info-page-title h1{font-size:43px}
  body.tt-v24 .info-page-title p{font-size:15px;line-height:1.7}
  body.tt-v24 .info-list-section{padding:30px 0 70px}
  body.tt-v24 .info-list-head span{display:none}
  body.tt-v24 .info-list-item{grid-template-columns:65px minmax(0,1fr);gap:16px;padding:26px 0}
  body.tt-v24 .info-list-item:hover{padding-left:0;padding-right:0;background:transparent}
  body.tt-v24 .info-list-item.is-important{padding-left:12px}
  body.tt-v24 .info-date{width:60px;height:68px;border-radius:12px}
  body.tt-v24 .info-date b{font-size:23px}
  body.tt-v24 .info-date span{font-size:10px!important}
  body.tt-v24 .info-date small{font-size:9px!important}
  body.tt-v24 .info-meta{font-size:11px}
  body.tt-v24 .info-copy h2{font-size:22px}
  body.tt-v24 .info-copy p{font-size:14px;line-height:1.65}
  body.tt-v24 .info-arrow{display:none}

  body.tt-v24 .activity-page-hero{padding:112px 0 38px}
  body.tt-v24 .activity-page-intro{padding:14px 0 0}
  body.tt-v24 .activity-page-intro h1{font-size:46px}
  body.tt-v24 .activity-page-intro p{font-size:15px;line-height:1.7}
  body.tt-v24 .activity-page-visual{min-height:300px;border-radius:17px}
  body.tt-v24 .activity-art-section{padding:46px 0 72px}
  body.tt-v24 .activity-art-head p{display:none}
  body.tt-v24 .activity-art-grid{grid-template-columns:1fr;gap:22px}
  body.tt-v24 .activity-art-card.is-featured{grid-column:auto;display:flex;min-height:0}
  body.tt-v24 .activity-art-card.is-featured .activity-art-image,body.tt-v24 .activity-art-image{min-height:290px}
  body.tt-v24 .activity-art-card.is-featured .activity-art-copy,body.tt-v24 .activity-art-copy{padding:25px 24px 28px}
  body.tt-v24 .activity-art-card.is-featured .activity-art-copy h2,body.tt-v24 .activity-art-copy h2{font-size:27px;line-height:1.12}
  body.tt-v24 .activity-art-copy p{font-size:14px}
}

/* Final small-text floor: Playfair Display reads visually smaller than sans fonts. */
body.tt-v24 small{font-size:12px!important;line-height:1.45!important}
body.tt-v24 .brand-text small{font-size:11px!important}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/community-v25-4-fonts.css */
/* Tulip Tower V25.4 — coordinated frontend typography
   Display / homepage portal introduction: Playfair Display
   Navigation & UI: Roboto
   Body copy & long-form reading: Open Sans
   Loaded last to override earlier typography layers without affecting Admin. */
:root{
  --tt254-display:"Playfair Display",Georgia,"Times New Roman",serif;
  --tt254-ui:"Roboto","Segoe UI",Arial,sans-serif;
  --tt254-body:"Open Sans","Segoe UI",Arial,sans-serif;
  --tt25-font:var(--tt254-body);
  --tt24-body:var(--tt254-body);
  --font-body:var(--tt254-body);
}

html body.tt-v24{
  font-family:var(--tt254-body)!important;
  font-synthesis:none;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

/* Reading text — Open Sans */
html body.tt-v24 p,
html body.tt-v24 li,
html body.tt-v24 blockquote,
html body.tt-v24 .lead,
html body.tt-v24 .content-prose,
html body.tt-v24 .content-prose p,
html body.tt-v24 .article-content,
html body.tt-v24 .article-content p,
html body.tt-v24 .notice-description,
html body.tt-v24 .activity-description,
html body.tt-v24 .gallery-description,
html body.tt-v24 .section-copy,
html body.tt-v24 .footer-note{
  font-family:var(--tt254-body)!important;
}

/* Interface text — Roboto */
html body.tt-v24 .desktop-nav a,
html body.tt-v24 .mobile-menu a,
html body.tt-v24 button,
html body.tt-v24 input,
html body.tt-v24 textarea,
html body.tt-v24 select,
html body.tt-v24 option,
html body.tt-v24 label,
html body.tt-v24 .btn,
html body.tt-v24 .tag,
html body.tt-v24 .eyebrow,
html body.tt-v24 .section-kicker,
html body.tt-v24 .meta,
html body.tt-v24 .badge,
html body.tt-v24 .chip,
html body.tt-v24 .date,
html body.tt-v24 .brand-text small,
html body.tt-v24 .quick-link b,
html body.tt-v24 .quick-link small,
html body.tt-v24 .footer-links a,
html body.tt-v24 .lang-switch button{
  font-family:var(--tt254-ui)!important;
}

/* Headings outside the highlighted homepage introduction stay clean and modern. */
html body.tt-v24 h1,
html body.tt-v24 h2,
html body.tt-v24 h3,
html body.tt-v24 h4,
html body.tt-v24 h5,
html body.tt-v24 h6,
html body.tt-v24 .section-title,
html body.tt-v24 .card-title,
html body.tt-v24 .page-title,
html body.tt-v24 .brand-text strong{
  font-family:var(--tt254-ui)!important;
  letter-spacing:-.018em;
}

/* The requested homepage introduction is deliberately Playfair Display.
   This covers exactly:
   “Cổng thông tin cộng đồng cư dân”
   “Một cộng đồng. / Một mái nhà.”
   and the introductory paragraph beneath it. */
html body.tt-v24.tt-home .hero-content .hero-grid > .reveal > .eyebrow,
html body.tt-v24.tt-home .hero-content .hero-main-title,
html body.tt-v24.tt-home .hero-content .hero-main-title span,
html body.tt-v24.tt-home .hero-content .hero-main-title em,
html body.tt-v24.tt-home .hero-content .hero-grid > .reveal > .lead{
  font-family:var(--tt254-display)!important;
}
html body.tt-v24.tt-home .hero-content .hero-grid > .reveal > .eyebrow{
  font-weight:600!important;
  letter-spacing:.075em!important;
}
html body.tt-v24.tt-home .hero-content .hero-main-title{
  font-weight:600!important;
  letter-spacing:-.032em!important;
  line-height:1.04!important;
}
html body.tt-v24.tt-home .hero-content .hero-main-title em{
  font-style:italic;
  font-weight:500!important;
}
html body.tt-v24.tt-home .hero-content .hero-grid > .reveal > .lead{
  font-weight:400!important;
  letter-spacing:-.012em!important;
  line-height:1.72!important;
}

/* Hero buttons and the quick-access card remain Roboto/Open Sans so the display font
   is not overused and the composition stays premium rather than decorative. */
html body.tt-v24.tt-home .hero-cta .btn,
html body.tt-v24.tt-home .hero-card .tag,
html body.tt-v24.tt-home .hero-card .quick-link b,
html body.tt-v24.tt-home .hero-card .quick-link small,
html body.tt-v24.tt-home .hero-metrics strong,
html body.tt-v24.tt-home .hero-metrics span{
  font-family:var(--tt254-ui)!important;
}
html body.tt-v24.tt-home .hero-card h2{
  font-family:var(--tt254-ui)!important;
}

/* Menu refinement */
html body.tt-v24 .desktop-nav a{
  font-weight:500!important;
  letter-spacing:.025em!important;
}
html body.tt-v24 .mobile-menu>a{
  font-weight:500!important;
  letter-spacing:.015em!important;
}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/community-v25-5-notice-sponsor.css */
/* Tulip Tower V25.5 — Featured notice + recent information + sponsor redesign.
   Scoped to the homepage section so the rest of the site remains untouched. */

body.tt-v24 .notice-center.notice-v255{
  --v255-navy:#062940;
  --v255-navy-deep:#041e31;
  --v255-petrol:#0c3a50;
  --v255-gold:#d5ad68;
  --v255-gold-soft:#ecd19a;
  --v255-ivory:#fbf8f1;
  --v255-paper:#fffdf9;
  --v255-ink:#102f43;
  --v255-muted:#73838c;
  padding:74px 0 30px!important;
  background:linear-gradient(180deg,#f7f5ef 0%,#fbfaf7 72%,#f8f5ed 100%)!important;
}
body.tt-v24 .notice-v255-shell{
  width:min(1220px,calc(100% - 44px))!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.9fr) minmax(330px,.92fr)!important;
  gap:16px!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  box-shadow:none!important;
  background:transparent!important;
}

/* FEATURED NOTICE */
body.tt-v24 .notice-v255-feature{
  position:relative!important;
  isolation:isolate;
  min-height:486px!important;
  padding:52px 43% 48px 50px!important;
  border:1px solid rgba(209,169,99,.28)!important;
  border-radius:26px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 88% 20%,rgba(61,128,151,.22),transparent 32%),
    linear-gradient(135deg,#04233a 0%,#07334c 53%,#0a3b50 100%)!important;
  box-shadow:0 26px 70px rgba(8,35,50,.16)!important;
  color:#fff!important;
}
body.tt-v24 .notice-v255-feature::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,rgba(214,174,104,.9),rgba(214,174,104,.04)) left top/100% 1px no-repeat,
    linear-gradient(180deg,rgba(214,174,104,.72),rgba(214,174,104,.05)) left top/1px 100% no-repeat!important;
  opacity:.9!important;
}
body.tt-v24 .notice-v255-feature::after{
  content:""!important;
  position:absolute!important;
  z-index:1!important;
  right:33%;bottom:-90px!important;
  width:270px!important;height:270px!important;
  border:1px solid rgba(222,185,119,.18)!important;
  border-radius:50%!important;
  box-shadow:0 0 0 34px rgba(222,185,119,.035),0 0 0 68px rgba(222,185,119,.022)!important;
  background:none!important;
}
body.tt-v24 .notice-v255-media{
  position:absolute;z-index:0;top:0;right:0;bottom:0;width:50%;overflow:hidden;pointer-events:none;
}
body.tt-v24 .notice-v255-media>img:first-child{
  width:100%;height:100%;object-fit:cover;object-position:60% center;
  filter:saturate(.82) contrast(1.04) brightness(.78);
  transform:scale(1.035);
}
body.tt-v24 .notice-v255-media-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,#062c44 0%,rgba(6,44,68,.92) 15%,rgba(6,44,68,.58) 42%,rgba(6,38,58,.14) 76%,rgba(5,31,48,.06) 100%),
    linear-gradient(0deg,rgba(4,30,47,.34),transparent 42%);
}
body.tt-v24 .notice-v255-watermark{
  position:absolute!important;right:28px!important;top:26px!important;width:62px!important;height:62px!important;object-fit:contain!important;
  opacity:.23!important;filter:grayscale(1) brightness(3)!important;
}
body.tt-v24 .notice-v255-copy{position:relative;z-index:3;max-width:620px}
body.tt-v24 .notice-v255-topline{display:flex!important;align-items:center!important;gap:13px!important;margin:0!important}
body.tt-v24 .notice-v255-topline .new-badge{
  display:inline-flex!important;align-items:center!important;gap:8px!important;
  padding:9px 14px!important;border:1px solid rgba(230,192,124,.62)!important;border-radius:8px!important;
  background:rgba(3,30,47,.46)!important;color:#f1d49b!important;
  font-family:"Roboto",Arial,sans-serif!important;font-size:11px!important;font-weight:700!important;letter-spacing:.11em!important;text-transform:uppercase!important;
  backdrop-filter:blur(8px);
}
body.tt-v24 .notice-bell{font-size:9px!important;color:#e8b85d!important;text-shadow:0 0 12px rgba(232,184,93,.8)}
body.tt-v24 .notice-v255-line{width:28px;height:1px;background:rgba(224,185,112,.8)}
body.tt-v24 .notice-v255-topline .meta{
  color:rgba(255,255,255,.68)!important;font-family:"Roboto",Arial,sans-serif!important;font-size:12px!important;font-weight:500!important;letter-spacing:.02em!important;
}
body.tt-v24 .notice-v255-kicker{
  margin-top:28px;color:#dfb86f;font-family:"Playfair Display",Georgia,serif;font-size:29px;line-height:1;font-weight:500;
}
body.tt-v24 .notice-v255-feature h2{
  position:relative!important;z-index:2!important;max-width:600px!important;
  margin:5px 0 18px!important;color:#fffdf8!important;
  font-family:"Playfair Display",Georgia,serif!important;font-size:clamp(39px,3.45vw,55px)!important;line-height:1.04!important;font-weight:500!important;
  letter-spacing:-.035em!important;text-wrap:balance;
  text-shadow:0 3px 28px rgba(0,0,0,.25)!important;
}
body.tt-v24 .notice-v255-rule{display:block;width:46px;height:2px;margin:0 0 22px;background:#dcb36b;border-radius:4px}
body.tt-v24 .notice-v255-feature p{
  position:relative!important;z-index:2!important;max-width:570px!important;margin:0!important;
  color:rgba(246,249,249,.86)!important;font-family:"Open Sans",Arial,sans-serif!important;font-size:15px!important;line-height:1.72!important;font-weight:400!important;
}
body.tt-v24 .notice-v255-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:30px}
body.tt-v24 .notice-v255-action{
  margin:0!important;min-height:50px;padding:0 18px!important;border:1px solid #d8ac62!important;border-radius:10px!important;
  display:inline-flex!important;align-items:center!important;gap:11px!important;background:rgba(5,34,52,.34)!important;color:#f3d49b!important;
  font-family:"Roboto",Arial,sans-serif!important;font-size:12px!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase!important;
  transition:transform .28s ease,background .28s ease,color .28s ease,box-shadow .28s ease!important;
}
body.tt-v24 .notice-v255-action:hover{transform:translateY(-2px)!important;background:#d8ae67!important;color:#082b42!important;box-shadow:0 14px 34px rgba(0,0,0,.18)!important}
body.tt-v24 .notice-book-icon{font-family:Georgia,serif;font-size:20px;line-height:1}
body.tt-v24 .notice-action-arrow{font-size:18px;margin-left:7px}
body.tt-v24 .notice-v255-read{
  color:rgba(255,255,255,.72);font-family:"Roboto",Arial,sans-serif;font-size:12px;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.22);padding-bottom:3px;
}
body.tt-v24 .notice-v255-read:hover{color:#fff;border-color:#d8ae67}
body.tt-v24 .notice-v255-pager{position:absolute;z-index:4;left:50px;bottom:19px;display:flex;gap:7px}
body.tt-v24 .notice-v255-pager i{display:block;width:8px;height:8px;border-radius:50%;background:#42687c}
body.tt-v24 .notice-v255-pager i.active{background:#e2b967}

/* LATEST INFORMATION */
body.tt-v24 .notice-v255-list{
  min-height:486px!important;padding:28px 30px 24px!important;border:1px solid rgba(20,57,75,.09)!important;border-radius:26px!important;
  background:linear-gradient(180deg,#fffdf9 0%,#fbf7ef 100%)!important;
  box-shadow:0 26px 70px rgba(22,44,55,.11)!important;
  display:flex!important;flex-direction:column!important;
}
body.tt-v24 .notice-v255-list-head{text-align:center;padding:3px 0 11px}
body.tt-v24 .notice-v255-list .notice-list-title{
  justify-content:center!important;margin:0!important;color:#17374a!important;
  font-family:"Playfair Display",Georgia,serif!important;font-size:22px!important;font-weight:600!important;letter-spacing:.035em!important;text-transform:uppercase!important;
}
body.tt-v24 .notice-v255-list .notice-list-title::before{display:none!important}
body.tt-v24 .notice-v255-ornament{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:10px;color:#c5954f}
body.tt-v24 .notice-v255-ornament span{width:30px;height:1px;background:#d7b77d}
body.tt-v24 .notice-v255-ornament b{font-size:11px;font-weight:400}
body.tt-v24 .notice-v255-rows{flex:1}
body.tt-v24 .notice-v255-row{
  display:grid!important;grid-template-columns:64px minmax(0,1fr) 36px!important;gap:16px!important;align-items:center!important;
  min-height:105px!important;margin:0!important;padding:14px 0!important;border:0!important;border-top:1px solid rgba(23,55,74,.10)!important;border-radius:0!important;background:transparent!important;
  transition:transform .25s ease!important;
}
body.tt-v24 .notice-v255-row:first-child{border-top:0!important}
body.tt-v24 .notice-v255-row:hover{transform:translateX(3px)!important;background:transparent!important}
body.tt-v24 .notice-v255-row .notice-date{
  width:60px!important;height:68px!important;border-radius:10px!important;background:linear-gradient(150deg,#082f49,#061f35)!important;color:#e3b86f!important;
  box-shadow:0 8px 22px rgba(7,42,61,.10)!important;
}
body.tt-v24 .notice-v255-row .notice-date b{
  color:#f1ca84!important;font-family:"Playfair Display",Georgia,serif!important;font-size:28px!important;font-weight:600!important;line-height:1!important;
}
body.tt-v24 .notice-v255-row .notice-date small{margin-top:3px!important;color:#f2d8a5!important;font-family:"Roboto",Arial,sans-serif!important;font-size:9px!important;font-weight:700!important;letter-spacing:.1em!important}
body.tt-v24 .notice-v255-row-copy strong{
  color:#173449!important;font-family:"Playfair Display",Georgia,serif!important;font-size:16px!important;line-height:1.3!important;font-weight:600!important;
}
body.tt-v24 .notice-v255-row-copy small{
  margin-top:6px!important;color:#a4773e!important;font-family:"Roboto",Arial,sans-serif!important;font-size:10px!important;font-weight:700!important;letter-spacing:.105em!important;text-transform:uppercase!important;
}
body.tt-v24 .notice-v255-row .mini-arrow{
  display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border:1px solid rgba(183,137,73,.35)!important;border-radius:50%!important;
  color:#9f7239!important;background:rgba(255,255,255,.38)!important;font-family:"Roboto",Arial,sans-serif!important;font-size:16px!important;
}
body.tt-v24 .notice-v255-row:hover .mini-arrow{background:#092f48!important;color:#f1cc87!important;border-color:#092f48!important;transform:none!important}
body.tt-v24 .notice-v255-all{
  align-self:center;display:inline-flex;align-items:center;justify-content:center;gap:24px;min-width:210px;min-height:43px;margin-top:7px;padding:0 20px;
  border:1px solid rgba(172,128,68,.23);border-radius:999px;background:rgba(255,255,255,.48);color:#886336;text-decoration:none;
  font-family:"Roboto",Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.03em;transition:.25s ease;
}
body.tt-v24 .notice-v255-all:hover{background:#082f48;color:#fff;border-color:#082f48;transform:translateY(-2px)}

/* SPONSOR */
body.tt-v24 .sponsor-board.sponsor-v255{
  padding:22px 0 78px!important;background:linear-gradient(180deg,#f8f5ed 0%,#fbfaf7 100%)!important;
}
body.tt-v24 .sponsor-v255-shell{
  position:relative;width:min(1220px,calc(100% - 44px))!important;margin:0 auto!important;padding:0!important;
  border:1px solid rgba(211,167,91,.68)!important;border-radius:22px!important;overflow:hidden!important;
  background:
    radial-gradient(circle at 75% 125%,rgba(70,135,148,.19),transparent 37%),
    linear-gradient(105deg,#062c45 0%,#073952 52%,#05263d 100%)!important;
  box-shadow:0 24px 60px rgba(9,42,58,.14)!important;
}
body.tt-v24 .sponsor-v255-shell::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(220,174,93,.7),transparent 18%) top left/100% 1px no-repeat,
    radial-gradient(circle at 79% 44%,transparent 0 55px,rgba(219,174,95,.08) 56px 57px,transparent 58px 100%);
}
body.tt-v24 .sponsor-v255-shell::after{
  content:"✦";position:absolute;right:24%;top:20px;color:rgba(222,180,105,.08);font-size:130px;line-height:1;pointer-events:none;
}
body.tt-v24 .sponsor-v255 .sponsor-viewport{overflow:hidden!important;position:relative;z-index:2}
body.tt-v24 .sponsor-v255 .sponsor-track{display:flex!important;transition:transform .55s cubic-bezier(.22,.72,.2,1)!important;will-change:transform}
body.tt-v24 .sponsor-v255-slide{
  flex:0 0 100%!important;min-width:100%!important;min-height:190px!important;padding:34px 38px!important;
  display:grid!important;grid-template-columns:105px minmax(0,1fr) auto!important;gap:30px!important;align-items:center!important;
  background:transparent!important;border:0!important;
}
body.tt-v24 .sponsor-v255-emblem{display:flex;align-items:center;justify-content:center}
body.tt-v24 .sponsor-v255 .sponsor-logo-box{
  width:88px!important;height:88px!important;display:grid!important;place-items:center!important;padding:13px!important;
  border:1px solid rgba(226,184,111,.85)!important;border-radius:22px!important;background:rgba(4,33,50,.38)!important;color:#e5bd76!important;
  clip-path:polygon(50% 0,93% 24%,93% 76%,50% 100%,7% 76%,7% 24%);
  font-family:"Playfair Display",Georgia,serif!important;font-size:28px!important;
}
body.tt-v24 .sponsor-v255 .sponsor-logo-box img{max-width:100%!important;max-height:58px!important;object-fit:contain!important;filter:brightness(1.12)}
body.tt-v24 .sponsor-v255-copy{min-width:0}
body.tt-v24 .sponsor-v255-copy .s-mini{
  color:#e0b66c!important;font-family:"Roboto",Arial,sans-serif!important;font-size:11px!important;font-weight:700!important;letter-spacing:.17em!important;text-transform:uppercase!important;
}
body.tt-v24 .sponsor-v255-copy h3{
  margin:8px 0 6px!important;color:#fffdf8!important;font-family:"Playfair Display",Georgia,serif!important;font-size:clamp(28px,2.8vw,42px)!important;line-height:1.12!important;font-weight:500!important;letter-spacing:-.025em!important;
}
body.tt-v24 .sponsor-v255-copy p{
  margin:0!important;max-width:720px!important;color:rgba(244,248,249,.72)!important;font-family:"Open Sans",Arial,sans-serif!important;font-size:14px!important;line-height:1.65!important;
}
body.tt-v24 .sponsor-v255-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:160px}
body.tt-v24 .sponsor-v255 .sponsor-button{
  min-width:158px!important;min-height:48px!important;padding:0 20px!important;border:1px solid #e0b56a!important;border-radius:999px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;background:linear-gradient(180deg,#e8c47e,#d5a655)!important;color:#092a41!important;
  font-family:"Roboto",Arial,sans-serif!important;font-size:12px!important;font-weight:700!important;text-decoration:none!important;box-shadow:0 8px 22px rgba(0,0,0,.16)!important;
}
body.tt-v24 .sponsor-v255 .sponsor-button:hover{transform:translateY(-2px)!important;filter:brightness(1.04)}
body.tt-v24 .sponsor-v255-register{
  border:0;background:transparent;color:rgba(255,255,255,.62);font-family:"Roboto",Arial,sans-serif;font-size:10px;font-weight:600;letter-spacing:.04em;cursor:pointer;padding:4px 7px;
}
body.tt-v24 .sponsor-v255-register:hover{color:#f0cc8d}
body.tt-v24 .sponsor-v255-controls{
  position:absolute;z-index:5;right:37px;bottom:20px;display:flex;align-items:center;gap:10px;
}
body.tt-v24 .sponsor-v255-controls .sponsor-controls{display:flex!important;align-items:center!important;gap:7px!important;margin:0!important}
body.tt-v24 .sponsor-v255-controls .sponsor-dot{
  width:24px!important;height:2px!important;border:0!important;border-radius:2px!important;background:rgba(255,255,255,.32)!important;padding:0!important;cursor:pointer!important;
}
body.tt-v24 .sponsor-v255-controls .sponsor-dot.active{width:32px!important;background:#ddb569!important}
body.tt-v24 .sponsor-nav{
  width:28px;height:28px;border:0;background:transparent;color:#fff;font-size:25px;line-height:1;cursor:pointer;opacity:.82;transition:.2s ease;
}
body.tt-v24 .sponsor-nav:hover{opacity:1;color:#e3bc76;transform:scale(1.06)}

@media(max-width:1050px){
  body.tt-v24 .notice-v255-shell{grid-template-columns:1fr!important;gap:14px!important}
  body.tt-v24 .notice-v255-feature{min-height:460px!important;padding-right:46%!important}
  body.tt-v24 .notice-v255-list{min-height:auto!important}
  body.tt-v24 .notice-v255-row{min-height:90px!important}
  body.tt-v24 .sponsor-v255-slide{grid-template-columns:90px minmax(0,1fr)!important;padding-bottom:70px!important}
  body.tt-v24 .sponsor-v255-actions{grid-column:2;flex-direction:row;align-items:center;justify-content:flex-start;min-width:0}
  body.tt-v24 .sponsor-v255-controls{right:30px;bottom:20px}
}

@media(max-width:720px){
  body.tt-v24 .notice-center.notice-v255{padding:42px 0 22px!important}
  body.tt-v24 .notice-v255-shell,body.tt-v24 .sponsor-v255-shell{width:calc(100% - 24px)!important}
  body.tt-v24 .notice-v255-feature{min-height:560px!important;padding:30px 25px 230px!important;border-radius:22px!important}
  body.tt-v24 .notice-v255-media{top:auto;width:100%;height:245px}
  body.tt-v24 .notice-v255-media-shade{background:linear-gradient(180deg,#07334c 0%,rgba(7,51,76,.5) 28%,rgba(5,37,56,.05) 78%)}
  body.tt-v24 .notice-v255-media>img:first-child{object-position:center 54%;filter:saturate(.82) brightness(.78)}
  body.tt-v24 .notice-v255-watermark{display:none!important}
  body.tt-v24 .notice-v255-topline{gap:8px!important}
  body.tt-v24 .notice-v255-topline .new-badge{font-size:9px!important;padding:8px 10px!important}
  body.tt-v24 .notice-v255-topline .meta{font-size:10px!important}
  body.tt-v24 .notice-v255-line{width:18px}
  body.tt-v24 .notice-v255-kicker{font-size:23px;margin-top:22px}
  body.tt-v24 .notice-v255-feature h2{font-size:38px!important;line-height:1.05!important;margin-top:6px!important}
  body.tt-v24 .notice-v255-feature p{font-size:14px!important;line-height:1.65!important}
  body.tt-v24 .notice-v255-actions{margin-top:22px;gap:12px}
  body.tt-v24 .notice-v255-action{font-size:10px!important;min-height:46px}
  body.tt-v24 .notice-v255-read{font-size:11px}
  body.tt-v24 .notice-v255-pager{left:auto;right:22px;bottom:15px}
  body.tt-v24 .notice-v255-list{padding:24px 20px 22px!important;border-radius:22px!important}
  body.tt-v24 .notice-v255-list .notice-list-title{font-size:19px!important}
  body.tt-v24 .notice-v255-row{grid-template-columns:54px minmax(0,1fr) 32px!important;gap:12px!important;min-height:92px!important;padding:12px 0!important}
  body.tt-v24 .notice-v255-row .notice-date{width:52px!important;height:58px!important}
  body.tt-v24 .notice-v255-row .notice-date b{font-size:24px!important}
  body.tt-v24 .notice-v255-row-copy strong{font-size:14px!important}
  body.tt-v24 .notice-v255-row-copy small{font-size:9px!important}
  body.tt-v24 .sponsor-board.sponsor-v255{padding:16px 0 52px!important}
  body.tt-v24 .sponsor-v255-slide{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:17px!important;min-height:365px!important;padding:28px 24px 75px!important}
  body.tt-v24 .sponsor-v255 .sponsor-logo-box{width:68px!important;height:68px!important;border-radius:18px!important}
  body.tt-v24 .sponsor-v255-copy h3{font-size:30px!important}
  body.tt-v24 .sponsor-v255-copy p{font-size:13px!important}
  body.tt-v24 .sponsor-v255-actions{grid-column:auto;align-items:flex-start;flex-direction:row;flex-wrap:wrap}
  body.tt-v24 .sponsor-v255 .sponsor-button{min-width:148px!important;min-height:44px!important}
  body.tt-v24 .sponsor-v255-controls{right:18px;bottom:17px}
}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/community-v31-responsive.css */
/* 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}}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/community-register-v48-49.css */
/* V48.61 — refined resident registration + popup terms */
#registerModal.resident-register-modal-v4849{
  padding:24px;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:none;
}
#registerModal.resident-register-modal-v4849::-webkit-scrollbar{display:none}
#registerModal .resident-register-dialog-v4849{
  width:min(820px,calc(100vw - 48px));
  max-height:none!important;
  overflow:visible!important;
  padding:26px 28px 24px;
  border-radius:26px!important;
  border:1px solid rgba(12,51,72,.11);
  background:#fffdfa!important;
  box-shadow:0 32px 100px rgba(5,31,46,.27)!important;
}
#registerModal .resident-register-head-v4849{
  align-items:flex-start;
  margin-bottom:18px;
  padding-bottom:17px;
  border-bottom:1px solid #e7edef;
}
#registerModal .resident-register-heading-v4849{min-width:0;padding-right:18px}
#registerModal .resident-register-kicker-v4849,
#residentTermsModal .resident-register-kicker-v4849{
  display:block;
  margin-bottom:6px;
  color:#b68a42;
  font-size:12px;
  font-weight:850;
  line-height:1.2;
  letter-spacing:.14em;
}
#registerModal .resident-register-head-v4849 h3{
  margin:0 0 8px!important;
  color:#0c2d43!important;
  font-family:var(--font-display)!important;
  font-size:30px!important;
  font-weight:700!important;
  line-height:1.16!important;
  letter-spacing:-.025em;
}
#registerModal .resident-register-head-v4849 p{
  max-width:690px;
  margin:0!important;
  color:#607785!important;
  font-size:15px!important;
  line-height:1.58!important;
}
#registerModal .resident-register-form-v4849{margin:0}
#registerModal .resident-register-grid-v4849{
  grid-template-columns:1fr 1fr;
  gap:14px 16px;
}
#registerModal .resident-register-grid-v4849 .field{gap:7px;min-width:0}
#registerModal .resident-register-grid-v4849 .field label{
  font-size:13.5px!important;
  font-weight:760!important;
  line-height:1.3!important;
  letter-spacing:.015em!important;
  text-transform:none!important;
  color:#304e61!important;
}
#registerModal .resident-register-grid-v4849 .field label>small{
  font-size:12px!important;
  font-weight:600!important;
  color:#81919a!important;
}
#registerModal .resident-register-grid-v4849 .field label span{color:#b55d55}
#registerModal .resident-register-grid-v4849 .field>small{
  margin-top:-1px;
  color:#7b8d97;
  font-size:12.5px!important;
  line-height:1.45!important;
}
#registerModal .resident-register-grid-v4849 input,
#registerModal .resident-register-grid-v4849 select{
  min-height:51px;
  padding:12px 14px;
  border:1px solid #d4e0e5!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#17364a!important;
  font-family:var(--font-body)!important;
  font-size:15.5px!important;
  line-height:1.3!important;
  box-shadow:0 1px 0 rgba(10,52,72,.02)!important;
}
#registerModal .resident-register-grid-v4849 input::placeholder{color:#9aa8b1}
#registerModal .resident-register-grid-v4849 input:focus,
#registerModal .resident-register-grid-v4849 select:focus{
  border-color:#73a9c3!important;
  box-shadow:0 0 0 4px rgba(72,142,178,.1)!important;
}
#registerModal .resident-register-grid-v4849 .password-wrap-v4836{display:block;position:relative;width:100%}
#registerModal .resident-register-grid-v4849 .password-wrap-v4836 input{padding-right:50px}
#registerModal .resident-register-errors-v4849{
  margin:0 0 14px;
  padding:11px 13px;
  border:1px solid #f1c5c1;
  border-radius:12px;
  background:#fff3f2;
  color:#a64037;
  font-size:13.5px;
  font-weight:650;
  line-height:1.45;
}
#registerModal .resident-terms-v4860{margin-top:17px}
#registerModal .resident-terms-check-v4860{
  display:flex;
  align-items:center;
  gap:5px;
  min-height:48px;
  margin:0;
  padding:11px 14px;
  border:1px solid #e0e8eb;
  border-radius:13px;
  background:#f8faf9;
  color:#4d6573!important;
  font-size:14.5px!important;
  font-weight:600!important;
  line-height:1.45!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
#registerModal .resident-terms-consent-v4861{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0;
  color:inherit!important;
  font:inherit!important;
  letter-spacing:0!important;
  text-transform:none!important;
  cursor:pointer;
}
#registerModal .resident-terms-check-v4860 input{
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin:0;
  accent-color:#0d3c55;
}
#registerModal .resident-terms-link-v4861{
  margin:0;
  padding:0;
  border:0;
  border-bottom:1px solid rgba(177,133,62,.48);
  background:transparent;
  color:#9a712f;
  font:inherit;
  font-weight:800;
  line-height:inherit;
  cursor:pointer;
}
#registerModal .resident-terms-link-v4861:hover{color:#71501e;border-bottom-color:#71501e}
#registerModal .resident-register-footer-v4849{
  display:grid;
  grid-template-columns:minmax(250px,310px) 1fr;
  align-items:center;
  gap:14px 18px;
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid #e7edef;
}
#registerModal .resident-register-submit-v4849{
  min-height:52px;
  margin:0!important;
  border-radius:13px!important;
  font-size:15.5px!important;
  font-weight:800!important;
  letter-spacing:.01em;
}
#registerModal .resident-register-note-v4849{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:0!important;
  color:#6e838e!important;
  font-size:13px!important;
  line-height:1.52!important;
}
#registerModal .resident-register-note-v4849>span:first-child{flex:0 0 auto;color:#3d9270;font-weight:900}

/* Terms popup: separate from the registration form, no inner scrollbar. */
#residentTermsModal.resident-terms-modal-v4861{
  padding:24px;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:none;
  z-index:132;
}
#residentTermsModal.resident-terms-modal-v4861::-webkit-scrollbar{display:none}
#residentTermsModal .resident-terms-dialog-v4861{
  width:min(760px,calc(100vw - 48px));
  max-height:none!important;
  overflow:visible!important;
  padding:28px 30px 24px;
  border-radius:26px!important;
  border:1px solid rgba(12,51,72,.11);
  background:#fffdfa!important;
  box-shadow:0 34px 105px rgba(5,31,46,.3)!important;
}
#residentTermsModal .resident-terms-head-v4861{
  margin-bottom:17px;
  padding-bottom:16px;
  border-bottom:1px solid #e7edef;
}
#residentTermsModal .resident-terms-head-v4861>div{min-width:0;padding-right:18px}
#residentTermsModal .resident-terms-head-v4861 h3{
  margin:0 0 7px!important;
  color:#0c2d43!important;
  font-family:var(--font-display)!important;
  font-size:29px!important;
  font-weight:700!important;
  line-height:1.18!important;
  letter-spacing:-.02em;
}
#residentTermsModal .resident-terms-head-v4861 p{
  max-width:650px;
  margin:0!important;
  color:#647b87!important;
  font-size:14.5px!important;
  line-height:1.55!important;
}
#residentTermsModal .resident-terms-popup-content-v4861{
  color:#3f5868;
  font-size:14.5px;
  line-height:1.62;
}
#residentTermsModal .resident-terms-popup-content-v4861 h4{
  margin:15px 0 5px;
  color:#173b50;
  font-size:15px;
  font-weight:800;
  line-height:1.35;
}
#residentTermsModal .resident-terms-popup-content-v4861 h4:first-child{margin-top:0}
#residentTermsModal .resident-terms-popup-content-v4861 p{margin:0!important;color:#516a78!important;font-size:14.5px!important;line-height:1.62!important}
#residentTermsModal .resident-terms-popup-footer-v4861{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:19px;
  padding-top:16px;
  border-top:1px solid #e7edef;
  color:#82919a;
  font-size:12.5px;
}
#residentTermsModal .resident-terms-done-v4861{
  min-width:120px;
  margin:0!important;
  padding:11px 18px;
  border-radius:12px;
  background:#0d344b;
  color:#fff;
  font-size:14px;
  font-weight:800;
}

@media(max-width:700px){
  #registerModal.resident-register-modal-v4849,
  #residentTermsModal.resident-terms-modal-v4861{
    align-items:start;
    padding:10px;
  }
  #registerModal .resident-register-dialog-v4849,
  #residentTermsModal .resident-terms-dialog-v4861{
    width:100%;
    max-width:100%;
    margin:auto 0;
    padding:20px 17px 18px;
    border-radius:22px!important;
  }
  #registerModal .resident-register-head-v4849{margin-bottom:15px;padding-bottom:14px}
  #registerModal .resident-register-head-v4849 h3{font-size:26px!important;line-height:1.18!important}
  #registerModal .resident-register-head-v4849 p{font-size:14px!important;line-height:1.5!important}
  #registerModal .resident-register-kicker-v4849,
  #residentTermsModal .resident-register-kicker-v4849{font-size:11px}
  #registerModal .resident-register-grid-v4849{grid-template-columns:1fr;gap:12px}
  #registerModal .resident-register-grid-v4849 .field.full{grid-column:auto}
  #registerModal .resident-register-grid-v4849 .field label{font-size:13.5px!important}
  #registerModal .resident-register-grid-v4849 input,
  #registerModal .resident-register-grid-v4849 select{min-height:50px;font-size:16px!important}
  #registerModal .resident-terms-check-v4860{align-items:flex-start;font-size:14px!important}
  #registerModal .resident-register-footer-v4849{grid-template-columns:1fr;gap:11px}
  #registerModal .resident-register-submit-v4849{min-height:52px;font-size:15px!important}
  #registerModal .resident-register-note-v4849{font-size:12.5px!important}
  #residentTermsModal .resident-terms-head-v4861 h3{font-size:25px!important}
  #residentTermsModal .resident-terms-head-v4861 p,
  #residentTermsModal .resident-terms-popup-content-v4861,
  #residentTermsModal .resident-terms-popup-content-v4861 p{font-size:14px!important}
}
@media(max-width:380px){
  #registerModal.resident-register-modal-v4849,
  #residentTermsModal.resident-terms-modal-v4861{padding:6px}
  #registerModal .resident-register-dialog-v4849,
  #residentTermsModal .resident-terms-dialog-v4861{padding:18px 14px 16px}
}

/* V73 — compact resident registration, username is the first required field. */
#registerModal .resident-register-dialog-v4849{width:min(800px,calc(100vw - 42px));padding:22px 24px 20px}
#registerModal .resident-register-head-v4849{margin-bottom:14px;padding-bottom:13px}
#registerModal .resident-register-head-v4849 h3{font-size:28px!important;margin-bottom:5px!important}
#registerModal .resident-register-head-v4849 p{font-size:14px!important;line-height:1.45!important}
#registerModal .resident-register-grid-v73{gap:10px 14px!important}
body.tt-home #registerModal .resident-register-grid-v73 .field{grid-template-rows:auto 48px auto!important;min-height:91px!important;gap:5px!important}
#registerModal .resident-register-grid-v73 input,#registerModal .resident-register-grid-v73 select{min-height:48px!important;padding:10px 13px!important}
#registerModal .resident-register-grid-v73 .field>small{font-size:11.5px!important;line-height:1.3!important;min-height:15px!important}
#registerModal .resident-terms-v4860{margin-top:10px}
#registerModal .resident-terms-check-v4860{min-height:44px;padding:9px 12px}
#registerModal .resident-register-footer-v4849{margin-top:12px;padding-top:12px;gap:10px 14px}
#registerModal .resident-register-submit-v4849{min-height:48px}
@media(max-width:700px){
  #registerModal .resident-register-dialog-v4849{padding:17px 14px 15px}
  #registerModal .resident-register-head-v4849{margin-bottom:12px;padding-bottom:11px}
  #registerModal .resident-register-head-v4849 h3{font-size:24px!important}
  #registerModal .resident-register-grid-v73{gap:9px!important}
  body.tt-home #registerModal .resident-register-grid-v73 .field{min-height:88px!important}
}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/community-content-v33.css */
:root{--v33-navy:#082c43;--v33-deep:#061d2f;--v33-ink:#173746;--v33-muted:#71838b;--v33-sage:#9eb9aa;--v33-sand:#d4bc8d;--v33-cream:#f3f0e8;--v33-line:rgba(8,44,67,.11);--v33-white:#fff}
.v33-kicker{margin-bottom:15px;color:#71877d;font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.v33-back-link{display:inline-flex;align-items:center;gap:9px;margin-bottom:38px;color:#5f777f;font-size:10px;font-weight:700;letter-spacing:.03em}.v33-back-link span{transition:transform .24s ease}.v33-back-link:hover span{transform:translateX(-4px)}
.notice-v33-clickable-media{position:relative;display:block;overflow:hidden}.notice-v33-clickable-media img:first-child{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.notice-v33-clickable-media:hover img:first-child{transform:scale(1.035)}
.notice-v33-media-action{position:absolute;z-index:4;left:25px;bottom:23px;display:inline-flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid rgba(255,255,255,.24);border-radius:999px;color:#fff;background:rgba(5,30,45,.28);backdrop-filter:blur(10px);font-size:9px;font-weight:700;opacity:0;transform:translateY(8px);transition:opacity .28s ease,transform .28s ease}.notice-v33-clickable-media:hover .notice-v33-media-action{opacity:1;transform:none}.notice-v33-media-action b{font-size:12px}
.notice-v255-copy h2 a{color:inherit}.notice-v255-copy h2 a:hover{color:#0b6680}
.activity-card-v33-link{display:block;color:#fff;text-decoration:none;cursor:pointer}.activity-card-v33-link .activity-content{position:relative;z-index:1}.activity-card-v33-link h3,.activity-card-v33-link p,.activity-card-v33-link .activity-meta-line{color:inherit}.activity-card-v33-link .text-link{display:inline-flex}.activity-card-v33-link:hover .text-link{transform:translateX(4px)}

/* Article detail */
.tt-v33-notice-detail .inner-main,.tt-v33-activity-detail .inner-main{background:#f2f4f0}
.v33-article-page{color:var(--v33-ink);font-family:"Open Sans",sans-serif}
.v33-article-hero{padding:70px 0 68px;background:linear-gradient(145deg,#f6f3eb,#e8efeb);overflow:hidden}
.v33-article-hero__grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr);align-items:center;gap:clamp(45px,7vw,110px)}
.v33-article-hero__copy{padding:26px 0}.v33-article-hero__copy h1{max-width:760px;margin:0;color:#0c3046;font:500 clamp(46px,5.1vw,78px)/1.02 "Playfair Display",serif;letter-spacing:-.035em}.v33-article-hero__copy>p{max-width:680px;margin:24px 0 0;color:#60767f;font-size:13px;line-height:1.85}
.v33-article-meta{display:flex;flex-wrap:wrap;gap:9px 17px;margin-top:28px}.v33-article-meta span{display:inline-flex;align-items:center;gap:7px;color:#536d78;font-size:10px;font-weight:600}.v33-article-meta svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.v33-article-hero__media{position:relative;min-height:560px;margin:0;border-radius:3px 90px 3px 3px;overflow:hidden;box-shadow:0 32px 70px rgba(15,49,61,.16)}.v33-article-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(4,27,40,.65))}.v33-article-hero__media img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.v33-article-hero__media:hover img{transform:scale(1.025)}.v33-article-hero__media figcaption{position:absolute;z-index:1;left:29px;right:29px;bottom:25px;display:flex;align-items:flex-end;justify-content:space-between;gap:15px;color:#fff}.v33-article-hero__media figcaption span{font:500 18px/1 "Playfair Display",serif;letter-spacing:.06em}.v33-article-hero__media figcaption small{font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.v33-article-body{padding:82px 0 100px}.v33-article-layout{display:grid;grid-template-columns:105px minmax(0,1fr) 330px;align-items:start;gap:clamp(30px,4.2vw,66px)}
.v33-article-rail{position:sticky;top:125px;display:flex;flex-direction:column;color:#87979b}.v33-article-rail>span{font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.v33-article-rail>strong{margin-top:13px;color:#826e48;font:500 40px/1 "Playfair Display",serif}.v33-article-rail>small{margin-top:5px;font-size:9px;font-weight:600}.v33-article-rail>i{display:block;width:1px;height:75px;margin:22px 0;background:linear-gradient(#9fb1ad,transparent)}.v33-article-rail>a{color:#526e78;font-size:9px;font-weight:700;line-height:1.5}
.v33-article-content{min-width:0;padding:0 0 10px}.v33-article-lead{margin:0 0 42px;padding:0 0 30px;border-bottom:1px solid var(--v33-line);color:#365765;font:400 clamp(21px,2vw,29px)/1.55 "Playfair Display",serif}
.v33-prose{color:#405b67;font-size:14px;line-height:1.95}.v33-prose>*:first-child{margin-top:0}.v33-prose h2,.v33-prose h3,.v33-prose h4{color:#173b4c;font-family:"Playfair Display",serif;font-weight:500;line-height:1.25}.v33-prose h2{margin:44px 0 18px;font-size:34px}.v33-prose h3{margin:35px 0 15px;font-size:27px}.v33-prose p{margin:0 0 21px}.v33-prose ul,.v33-prose ol{margin:0 0 25px;padding-left:23px}.v33-prose li{margin:8px 0}.v33-prose img{display:block;width:auto;max-width:100%;height:auto;margin:35px auto;border-radius:18px}.v33-prose blockquote{margin:34px 0;padding:22px 25px;border-left:3px solid #bda16d;background:#f5f1e8;color:#6b5a3c;font:italic 19px/1.65 "Playfair Display",serif}.v33-prose a{color:#0b6d82;text-decoration:underline;text-underline-offset:3px}
.v33-section-title>span,.v33-album-story>div>span,.v33-gallery-head>div>span,.v33-gallery-toolbar>div>span{display:block;margin-bottom:7px;color:#7a8d87;font-size:8px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.v33-section-title h2,.v33-album-story h2,.v33-gallery-head h2,.v33-gallery-toolbar h2{margin:0;color:#173b4b;font:500 25px/1.2 "Playfair Display",serif}
.v33-album-cta{display:grid;grid-template-columns:48px minmax(0,1fr) 28px;align-items:center;gap:15px;margin-top:40px;padding:18px;border-radius:18px;color:#fff;background:linear-gradient(145deg,#0c405c,#071f33);box-shadow:0 17px 35px rgba(7,38,54,.15);transition:transform .28s ease,box-shadow .28s ease}.v33-album-cta:hover{transform:translateY(-3px);box-shadow:0 22px 42px rgba(7,38,54,.20)}.v33-album-cta>span{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.10)}.v33-album-cta svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}.v33-album-cta div small,.v33-album-cta div strong{display:block}.v33-album-cta div small{margin-bottom:4px;font-size:8px;letter-spacing:.09em;text-transform:uppercase;opacity:.58}.v33-album-cta div strong{font:500 17px/1.3 "Playfair Display",serif}.v33-album-cta>b{font-size:18px}
.v33-attachments{margin-top:52px;padding-top:35px;border-top:1px solid var(--v33-line)}.v33-attachment-list{display:grid;gap:9px;margin-top:18px}.v33-attachment{display:grid;grid-template-columns:45px minmax(0,1fr) 24px;align-items:center;gap:13px;padding:12px;border:1px solid var(--v33-line);border-radius:15px;color:#294b5a;background:#fff;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}.v33-attachment:hover{transform:translateX(4px);border-color:rgba(8,44,67,.22);box-shadow:0 11px 24px rgba(10,45,59,.07)}.v33-attachment>span{width:45px;height:45px;display:grid;place-items:center;border-radius:12px;color:#6e5c38;background:#efe6d2;font-size:9px;font-weight:800}.v33-attachment div{min-width:0}.v33-attachment div strong{display:block;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.v33-attachment div small{display:block;margin-top:5px;color:#8b999d;font-size:8px}.v33-attachment>b{font-size:14px}
.v33-related{position:sticky;top:112px;padding:25px;border:1px solid var(--v33-line);border-radius:22px;background:rgba(255,255,255,.75);box-shadow:0 18px 45px rgba(13,48,60,.07)}.v33-related-list{display:grid;margin-top:18px}.v33-related-list>a{display:grid;grid-template-columns:66px minmax(0,1fr) 15px;align-items:center;gap:11px;padding:11px 0;border-top:1px solid rgba(8,44,67,.08);color:#284957}.v33-related-list>a:first-child{border-top:0}.v33-related-list>a>span{width:66px;aspect-ratio:1.25;border-radius:10px;background-position:center;background-size:cover}.v33-related-list>a>div{min-width:0}.v33-related-list small,.v33-related-list strong{display:block}.v33-related-list small{margin-bottom:5px;color:#91a0a4;font-size:8px}.v33-related-list strong{display:-webkit-box;overflow:hidden;color:#2c4b58;font:500 12px/1.4 "Playfair Display",serif;-webkit-line-clamp:2;-webkit-box-orient:vertical}.v33-related-list>a>b{color:#899b9c;font-size:11px;transition:transform .22s ease}.v33-related-list>a:hover>b{transform:translateX(4px)}.v33-related-empty{color:#89999e;font-size:10px;line-height:1.7}.v33-related-all{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:15px;border-top:1px solid var(--v33-line);color:#506e78;font-size:9px;font-weight:700}

/* Album index */
.tt-v33-gallery-index .inner-main{background:#eef2ef}.v33-gallery-hero{padding:76px 0 70px;background:linear-gradient(145deg,#edf2ef,#f6f1e8)}
.v33-gallery-hero__grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(500px,1.18fr);align-items:center;gap:clamp(45px,7vw,110px)}.v33-gallery-hero__intro h1{max-width:680px;margin:0;color:#0c3046;font:500 clamp(48px,5.2vw,78px)/1.03 "Playfair Display",serif;letter-spacing:-.035em}.v33-gallery-hero__intro>p{max-width:600px;margin:24px 0 0;color:#657a82;font-size:13px;line-height:1.85}.v33-gallery-stats{display:flex;align-items:center;gap:13px;margin-top:29px}.v33-gallery-stats strong{color:#8b754c;font:500 34px/1 "Playfair Display",serif}.v33-gallery-stats span{max-width:105px;color:#76878c;font-size:9px;line-height:1.45;text-transform:uppercase;letter-spacing:.08em}
.v33-featured-album{position:relative;min-height:545px;display:flex;align-items:flex-end;padding:31px;border-radius:3px 86px 3px 3px;color:#fff;background-position:center;background-size:cover;overflow:hidden;box-shadow:0 30px 70px rgba(11,45,57,.18);transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease}.v33-featured-album:hover{transform:translateY(-5px);box-shadow:0 38px 80px rgba(11,45,57,.23)}.v33-featured-album__label{position:absolute;left:28px;top:27px;padding:8px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(4,29,43,.20);backdrop-filter:blur(10px);font-size:8px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.v33-featured-album>div{position:relative;z-index:1}.v33-featured-album>div small,.v33-featured-album>div strong,.v33-featured-album>div span{display:block}.v33-featured-album>div small{margin-bottom:8px;font-size:9px;font-weight:600;opacity:.68}.v33-featured-album>div strong{max-width:570px;font:500 clamp(28px,3vw,43px)/1.12 "Playfair Display",serif}.v33-featured-album>div span{margin-top:17px;font-size:10px;font-weight:700}.v33-featured-album--empty{background:linear-gradient(145deg,#194a60,#08283d)}
.v33-gallery-index{padding:75px 0 95px;background:#f7f8f5}.v33-gallery-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:32px}.v33-gallery-toolbar h2{font-size:34px}.v33-album-filter{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.v33-album-filter button{min-width:58px;height:35px;padding:0 13px;border:1px solid var(--v33-line);border-radius:999px;color:#6f8287;background:#fff;font:700 9px/1 "Open Sans",sans-serif;cursor:pointer;transition:color .22s ease,background .22s ease,border-color .22s ease,transform .22s ease}.v33-album-filter button:hover,.v33-album-filter button.active{color:#fff;background:var(--v33-navy);border-color:var(--v33-navy);transform:translateY(-1px)}
.v33-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.v33-album-card{min-width:0;border:1px solid var(--v33-line);border-radius:22px;background:#fff;overflow:hidden;transition:transform .34s cubic-bezier(.2,.7,.2,1),box-shadow .34s ease}.v33-album-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(12,48,60,.11)}.v33-album-card.is-featured{grid-column:span 2;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr)}.v33-album-card__media{position:relative;min-height:300px;display:block;overflow:hidden;background:#dfe7e3}.v33-album-card.is-featured .v33-album-card__media{min-height:420px}.v33-album-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.7,.2,1)}.v33-album-card:hover .v33-album-card__media img{transform:scale(1.045)}.v33-album-card__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(5,31,43,.36))}.v33-album-card__count{position:absolute;z-index:1;left:16px;top:16px;padding:7px 10px;border-radius:999px;color:#fff;background:rgba(5,31,43,.32);backdrop-filter:blur(9px);font-size:8px;font-weight:700}.v33-album-card__media>i{position:absolute;z-index:1;right:16px;bottom:15px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:#153848;background:#fff;font-style:normal;transition:transform .25s ease}.v33-album-card:hover .v33-album-card__media>i{transform:rotate(45deg)}
.v33-album-card__copy{padding:23px}.v33-album-card.is-featured .v33-album-card__copy{align-self:center;padding:34px}.v33-album-card__meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#849499;font-size:8px;font-weight:600}.v33-album-card__meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v33-album-card__copy h3{margin:15px 0 11px;font:500 24px/1.22 "Playfair Display",serif}.v33-album-card.is-featured .v33-album-card__copy h3{font-size:34px}.v33-album-card__copy h3 a{color:#173b4c}.v33-album-card__copy h3 a:hover{color:#0c6780}.v33-album-card__copy p{margin:0;color:#74878e;font-size:10px;line-height:1.75}.v33-album-card__link{display:inline-flex;align-items:center;gap:10px;margin-top:20px;color:#55737c;font-size:9px;font-weight:700}.v33-album-card__link span{transition:transform .22s ease}.v33-album-card__link:hover span{transform:translateX(4px)}.v33-gallery-empty{grid-column:1/-1;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed rgba(8,44,67,.18);border-radius:22px;color:#89999e;background:#fff}.v33-gallery-empty strong{color:#3d5c69;font:500 24px/1.2 "Playfair Display",serif}.v33-gallery-empty span{margin-top:7px;font-size:10px}.v33-pagination{margin-top:36px}

/* Album detail */
.tt-v33-album-detail .inner-main{background:#eff3ef}.v33-album-detail{color:var(--v33-ink);font-family:"Open Sans",sans-serif}.v33-album-hero{padding:72px 0 70px;background:linear-gradient(145deg,#f5f1e8,#e8efeb)}
.v33-album-hero__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(470px,1.1fr);align-items:center;gap:clamp(48px,7vw,115px)}.v33-album-hero__copy h1{margin:0;color:#0d3046;font:500 clamp(48px,5vw,76px)/1.03 "Playfair Display",serif;letter-spacing:-.035em}.v33-album-hero__copy>p{max-width:620px;margin:24px 0 0;color:#647b83;font-size:13px;line-height:1.85}.v33-album-hero__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:31px;padding-top:24px;border-top:1px solid var(--v33-line)}.v33-album-hero__meta span small,.v33-album-hero__meta span strong{display:block}.v33-album-hero__meta small{margin-bottom:5px;color:#8c9b9f;font-size:8px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.v33-album-hero__meta strong{color:#355562;font-size:10px;font-weight:700}
.v33-album-hero__cover{position:relative;min-height:590px;margin:0;border-radius:86px 3px 3px 3px;overflow:hidden;box-shadow:0 32px 72px rgba(12,47,59,.18)}.v33-album-hero__cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 64%,rgba(4,28,42,.53))}.v33-album-hero__cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.v33-album-hero__cover:hover img{transform:scale(1.03)}.v33-album-hero__cover>span{position:absolute;z-index:1;right:27px;bottom:24px;color:#fff;font:500 38px/1 "Playfair Display",serif;text-align:right}.v33-album-hero__cover>span small{display:block;margin-top:5px;font:700 8px/1 "Open Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;opacity:.66}
.v33-album-content{padding:82px 0 100px;background:#f8f9f6}.v33-album-story{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(45px,7vw,110px);padding-bottom:65px;margin-bottom:63px;border-bottom:1px solid var(--v33-line)}.v33-album-story h2{font-size:34px}.v33-album-story .v33-prose{max-width:840px}.v33-gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:30px}.v33-gallery-head h2{font-size:36px}.v33-gallery-head>p{max-width:360px;margin:0;color:#7b8c91;font-size:10px;line-height:1.7;text-align:right}.v33-gallery-head>a{color:#54727b;font-size:9px;font-weight:700}
.v33-photo-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:95px;gap:10px}.v33-photo-card{position:relative;grid-column:span 4;grid-row:span 4;padding:0;border:0;border-radius:18px;background:#dfe7e3;overflow:hidden;cursor:pointer;text-align:left}.v33-photo-card--1,.v33-photo-card--6{grid-column:span 7;grid-row:span 6}.v33-photo-card--2,.v33-photo-card--5{grid-column:span 5;grid-row:span 3}.v33-photo-card--3,.v33-photo-card--4{grid-column:span 5;grid-row:span 3}.v33-photo-card--7,.v33-photo-card--8{grid-column:span 6;grid-row:span 4}.v33-photo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.7,.2,1)}.v33-photo-card:hover img{transform:scale(1.045)}.v33-photo-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 56%,rgba(4,27,40,.72));opacity:.78;transition:opacity .28s ease}.v33-photo-card:hover .v33-photo-card__shade{opacity:1}.v33-photo-card__index{position:absolute;left:16px;top:14px;padding:6px 8px;border-radius:999px;color:#fff;background:rgba(5,31,44,.28);backdrop-filter:blur(8px);font-size:8px;font-weight:700}.v33-photo-card__copy{position:absolute;z-index:1;left:18px;right:56px;bottom:16px;color:#fff;transform:translateY(4px);transition:transform .28s ease}.v33-photo-card:hover .v33-photo-card__copy{transform:none}.v33-photo-card__copy strong,.v33-photo-card__copy small{display:block}.v33-photo-card__copy strong{font:500 17px/1.25 "Playfair Display",serif}.v33-photo-card__copy small{margin-top:5px;overflow:hidden;font-size:8px;line-height:1.5;opacity:.68;text-overflow:ellipsis;white-space:nowrap}.v33-photo-card>i{position:absolute;z-index:1;right:16px;bottom:15px;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:#fff;background:rgba(5,31,44,.18);font-style:normal;backdrop-filter:blur(7px);transition:transform .25s ease,background .25s ease}.v33-photo-card:hover>i{transform:rotate(90deg);background:rgba(255,255,255,.18)}
.v33-more-albums{margin-top:86px;padding-top:60px;border-top:1px solid var(--v33-line)}.v33-more-albums__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.v33-more-albums__grid>a{position:relative;min-height:260px;border-radius:18px;color:#fff;background:#dfe6e2;overflow:hidden}.v33-more-albums__grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.v33-more-albums__grid>a:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(4,28,41,.72))}.v33-more-albums__grid>a:hover img{transform:scale(1.045)}.v33-more-albums__grid>a>span{position:absolute;z-index:1;left:18px;right:48px;bottom:16px}.v33-more-albums__grid small,.v33-more-albums__grid strong{display:block}.v33-more-albums__grid small{margin-bottom:5px;font-size:8px;opacity:.65}.v33-more-albums__grid strong{font:500 17px/1.25 "Playfair Display",serif}.v33-more-albums__grid i{position:absolute;z-index:1;right:17px;bottom:17px;font-style:normal}
.v33-lightbox figure{max-width:min(1180px,88vw)}

@media(max-width:1180px){.v33-article-hero__grid,.v33-gallery-hero__grid,.v33-album-hero__grid{gap:45px}.v33-article-layout{grid-template-columns:76px minmax(0,1fr) 290px;gap:30px}.v33-album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v33-photo-grid{grid-auto-rows:82px}}
@media(max-width:980px){.v33-article-hero__grid,.v33-gallery-hero__grid,.v33-album-hero__grid{grid-template-columns:1fr}.v33-article-hero__copy,.v33-gallery-hero__intro,.v33-album-hero__copy{max-width:780px}.v33-article-hero__media,.v33-featured-album,.v33-album-hero__cover{min-height:520px}.v33-article-layout{grid-template-columns:minmax(0,1fr) 300px}.v33-article-rail{display:none}.v33-album-story{grid-template-columns:190px minmax(0,1fr);gap:45px}.v33-photo-grid{grid-auto-rows:72px}}
@media(max-width:760px){.v33-article-hero,.v33-gallery-hero,.v33-album-hero{padding:48px 0}.v33-article-hero__copy h1,.v33-gallery-hero__intro h1,.v33-album-hero__copy h1{font-size:47px}.v33-back-link{margin-bottom:27px}.v33-article-hero__media,.v33-featured-album,.v33-album-hero__cover{min-height:430px;border-radius:2px 55px 2px 2px}.v33-article-body,.v33-gallery-index,.v33-album-content{padding:58px 0 72px}.v33-article-layout{grid-template-columns:1fr}.v33-related{position:relative;top:auto}.v33-gallery-toolbar,.v33-gallery-head{align-items:flex-start;display:block}.v33-album-filter{justify-content:flex-start;margin-top:20px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.v33-gallery-head>p{max-width:none;margin-top:13px;text-align:left}.v33-gallery-head>a{display:inline-block;margin-top:15px}.v33-album-card.is-featured{grid-column:auto;display:block}.v33-album-card.is-featured .v33-album-card__media{min-height:300px}.v33-album-card.is-featured .v33-album-card__copy{padding:23px}.v33-album-card.is-featured .v33-album-card__copy h3{font-size:24px}.v33-album-story{grid-template-columns:1fr;gap:20px}.v33-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}.v33-photo-card,.v33-photo-card--1,.v33-photo-card--2,.v33-photo-card--3,.v33-photo-card--4,.v33-photo-card--5,.v33-photo-card--6,.v33-photo-card--7,.v33-photo-card--8{grid-column:auto;grid-row:auto;aspect-ratio:4/3}.v33-more-albums__grid{grid-template-columns:1fr 1fr}.notice-v33-media-action{opacity:1;transform:none}}
@media(max-width:540px){.v33-article-hero__copy h1,.v33-gallery-hero__intro h1,.v33-album-hero__copy h1{font-size:39px}.v33-article-hero__copy>p,.v33-gallery-hero__intro>p,.v33-album-hero__copy>p{font-size:12px}.v33-article-hero__media,.v33-featured-album,.v33-album-hero__cover{min-height:360px;border-radius:2px 38px 2px 2px}.v33-article-meta{display:grid}.v33-article-lead{font-size:21px}.v33-prose{font-size:15px;line-height:1.85}.v33-prose h2{font-size:29px}.v33-prose h3{font-size:24px}.v33-related{padding:19px}.v33-album-grid{grid-template-columns:1fr}.v33-album-card__media{min-height:270px}.v33-album-hero__meta{grid-template-columns:1fr 1fr}.v33-gallery-head h2,.v33-gallery-toolbar h2{font-size:29px}.v33-photo-grid{grid-template-columns:1fr}.v33-photo-card,.v33-photo-card--1,.v33-photo-card--2,.v33-photo-card--3,.v33-photo-card--4,.v33-photo-card--5,.v33-photo-card--6,.v33-photo-card--7,.v33-photo-card--8{aspect-ratio:4/3}.v33-more-albums__grid{grid-template-columns:1fr}.v33-more-albums__grid>a{min-height:230px}.v33-album-cta{grid-template-columns:42px minmax(0,1fr) 20px;padding:14px}.v33-album-cta>span{width:42px;height:42px}.v33-attachment{grid-template-columns:40px minmax(0,1fr) 18px}.v33-attachment>span{width:40px;height:40px}.activity-card-v33-link{touch-action:pan-y}}
@media(prefers-reduced-motion:reduce){.v33-article-page *,.v33-gallery-index *,.v33-album-detail *,.notice-v33-clickable-media *,.activity-card-v33-link *{transition-duration:.01ms!important;animation-duration:.01ms!important}}
/* V34: homepage album showcase — 1 latest album + 3 supporting albums */
.home-gallery-v34{padding:104px 0 112px;background:linear-gradient(180deg,#f7f6f1,#edf4f3)}
.home-gallery-v34__head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:34px}
.home-gallery-v34__head span{display:block;margin-bottom:9px;color:#9a7a47;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.home-gallery-v34__head h2{max-width:760px;margin:0;color:#08283e;font-family:'Playfair Display',Georgia,serif;font-size:clamp(35px,4.2vw,58px);line-height:1.05;letter-spacing:-.035em}
.home-gallery-v34__head>a{display:inline-flex;align-items:center;gap:18px;white-space:nowrap;padding:13px 18px;border:1px solid rgba(8,40,62,.18);border-radius:999px;color:#08283e;font-size:13px;font-weight:750;transition:.25s ease}
.home-gallery-v34__head>a:hover{transform:translateY(-3px);background:#08283e;color:#fff;box-shadow:0 13px 28px rgba(8,40,62,.16)}
.home-gallery-v34__grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.78fr);gap:16px;min-height:650px}
.home-gallery-v34__featured,.home-gallery-v34__secondary>a{position:relative;overflow:hidden;border-radius:24px;background:#08283e;color:#fff;isolation:isolate;box-shadow:0 20px 48px rgba(8,40,62,.12)}
.home-gallery-v34__featured>img,.home-gallery-v34__secondary>a>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.75,.25,1),filter .4s ease}
.home-gallery-v34__featured:hover>img,.home-gallery-v34__secondary>a:hover>img{transform:scale(1.065);filter:saturate(1.08)}
.home-gallery-v34__shade,.home-gallery-v34__secondary>a>span{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(3,24,39,.02) 20%,rgba(3,24,39,.9) 100%)}
.home-gallery-v34__badge{position:absolute;z-index:2;top:24px;left:24px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.9);backdrop-filter:blur(9px);color:#08283e;font-size:9px;font-weight:850;letter-spacing:.13em}
.home-gallery-v34__featured>div{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:36px}
.home-gallery-v34__featured small,.home-gallery-v34__secondary small{display:block;color:#dcc18f;font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.home-gallery-v34__featured h3{max-width:760px;margin:10px 0 10px;font-family:'Playfair Display',Georgia,serif;font-size:clamp(29px,3vw,48px);line-height:1.04}
.home-gallery-v34__featured p{max-width:640px;margin:0 0 20px;color:rgba(255,255,255,.78);font-size:14px;line-height:1.72}.home-gallery-v34__featured>div>b{font-size:12px;letter-spacing:.04em}
.home-gallery-v34__secondary{display:grid;grid-template-rows:repeat(3,1fr);gap:16px}.home-gallery-v34__secondary>a{min-height:0}
.home-gallery-v34__secondary>a>div{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:22px}.home-gallery-v34__secondary h3{margin:7px 34px 0 0;font-family:'Playfair Display',Georgia,serif;font-size:22px;line-height:1.08}.home-gallery-v34__secondary b{position:absolute;right:22px;bottom:22px;display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:rgba(255,255,255,.16);transition:.25s ease}.home-gallery-v34__secondary>a:hover b{transform:rotate(12deg);background:#fff;color:#08283e}
@media(max-width:900px){.home-gallery-v34{padding:76px 0}.home-gallery-v34__head{align-items:flex-start;flex-direction:column}.home-gallery-v34__grid{grid-template-columns:1fr;min-height:0}.home-gallery-v34__featured{min-height:540px}.home-gallery-v34__secondary{grid-template-columns:repeat(3,1fr);grid-template-rows:none}.home-gallery-v34__secondary>a{min-height:250px}}
@media(max-width:640px){.home-gallery-v34__head h2{font-size:38px}.home-gallery-v34__featured{min-height:480px;border-radius:19px}.home-gallery-v34__featured>div{padding:25px}.home-gallery-v34__featured h3{font-size:31px}.home-gallery-v34__featured p{display:none}.home-gallery-v34__secondary{grid-template-columns:1fr}.home-gallery-v34__secondary>a{min-height:220px;border-radius:18px}}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/community-roboto-condensed-v42.css */
/* Tulip Tower V42 — unified Roboto Condensed typography for public pages. */
:root{
    --font-body:"Roboto Condensed",Arial,sans-serif;
    --font-display:"Roboto Condensed",Arial,sans-serif;
    --tt-font-body:"Roboto Condensed",Arial,sans-serif;
    --tt-font-display:"Roboto Condensed",Arial,sans-serif;
}

body.tt-v24,
body.tt-v24 *:not(.fa):not(.fas):not(.far):not(.fal):not(.fab):not(.fad):not([class*="fa-"]):not([class*="mdi"]):not([class*="ri-"]):not([class*="bx-"]):not([class*="icon"]){
    font-family:"Roboto Condensed",Arial,sans-serif!important;
}

body.tt-v24{
    font-synthesis:none;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

body.tt-v24 input,
body.tt-v24 textarea,
body.tt-v24 select,
body.tt-v24 option,
body.tt-v24 button{
    font-family:"Roboto Condensed",Arial,sans-serif!important;
}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/community-typography-v43.css */
/* Tulip Tower V43 — readable typography. Loaded last on every public page. */
:root{--tt-readable-body:18px;--tt-readable-small:15px}
html,body,input,button,select,textarea{font-family:"Roboto Condensed",Arial,sans-serif!important}
body.tt-v24{font-size:var(--tt-readable-body);line-height:1.65}
body.tt-v24 p,body.tt-v24 li,body.tt-v24 td,body.tt-v24 th{line-height:1.7}
body.tt-v24 .inner-header nav a,body.tt-v24 .inner-nav a{font-size:17px!important;font-weight:600!important}
body.tt-v24 .section-kicker,body.tt-v24 [class*="eyebrow"],body.tt-v24 [class*="kicker"]{font-size:14px!important;line-height:1.35!important}
body.tt-v24 .inner-hero p,body.tt-v24 .content-prose,body.tt-v24 .content-prose p,body.tt-v24 .v33-prose,body.tt-v24 .v33-prose p{font-size:18px!important;line-height:1.82!important}
body.tt-v24 .text-link,body.tt-v24 .btn,body.tt-v24 button,body.tt-v24 input,body.tt-v24 select,body.tt-v24 textarea{font-size:16px}

/* Home content readability */
body.tt-home .hero-v30-copy{font-size:19px!important;line-height:1.72!important}
body.tt-home .hero-v30-quick-text b{font-size:16px!important}
body.tt-home .hero-v30-quick-text small{font-size:14px!important;line-height:1.35!important}
body.tt-home .notice-v255-topline .new-badge,body.tt-home .notice-v255-topline .meta{font-size:14px!important}
body.tt-home .notice-v255-feature p{font-size:17px!important;line-height:1.7!important}
body.tt-home .notice-v255-action,body.tt-home .notice-v255-read,body.tt-home .notice-v255-all{font-size:15px!important}
body.tt-home .notice-v255-list .notice-list-title{font-size:25px!important}
body.tt-home .notice-v255-row-copy strong{font-size:18px!important}
body.tt-home .notice-v255-row-copy small{font-size:13px!important}
body.tt-home .sponsor-v255-copy p{font-size:17px!important;line-height:1.65!important}
body.tt-home .sponsor-button,body.tt-home .sponsor-v255-register{font-size:15px!important}
body.tt-home .section-copy{font-size:18px!important;line-height:1.75!important}
body.tt-home .community-access-section .card-body h3{font-size:27px!important}
body.tt-home .community-access-section .card-body p{font-size:17px!important;line-height:1.67!important}
body.tt-home .activity-content h3{font-size:30px!important}
body.tt-home .activity-content p{font-size:17px!important;line-height:1.65!important}
body.tt-home .activity-date,body.tt-home .activity-meta-line{font-size:14px!important}

/* Resident notices */
body.tt-notice-page .notice35-breadcrumb{font-size:14px!important}
body.tt-notice-page .notice35-hero__copy h1{font-size:clamp(58px,7vw,88px)!important;line-height:1.02!important}
body.tt-notice-page .notice35-hero__copy>p{max-width:720px!important;font-size:19px!important;line-height:1.75!important}
body.tt-notice-page .notice35-hero__count span{font-size:16px!important}
body.tt-notice-page .notice35-hero__count small{font-size:14px!important}
body.tt-notice-page .notice35-section-label strong{font-size:15px!important}
body.tt-notice-page .notice35-featured__badge{font-size:14px!important}
body.tt-notice-page .notice35-featured__meta{font-size:14px!important}
body.tt-notice-page .notice35-featured__copy h2{font-size:clamp(32px,3.2vw,46px)!important;line-height:1.12!important}
body.tt-notice-page .notice35-featured__copy p{font-size:17px!important;line-height:1.7!important}
body.tt-notice-page .notice35-read{font-size:15px!important}
body.tt-notice-page .notice35-tools input,body.tt-notice-page .notice35-tools button{font-size:16px!important}
body.tt-notice-page .notice35-filters,body.tt-notice-page .notice35-filters a,body.tt-notice-page .notice35-filters span,body.tt-notice-page .notice35-filters small{font-size:15px!important}
body.tt-notice-page .notice35-date b{font-size:35px!important}
body.tt-notice-page .notice35-date span{font-size:14px!important}
body.tt-notice-page .notice35-item__meta,body.tt-notice-page .notice35-item__meta strong,body.tt-notice-page .notice35-item__meta span{font-size:14px!important}
body.tt-notice-page .notice35-item__copy h2{font-size:27px!important;line-height:1.22!important}
body.tt-notice-page .notice35-item__copy p{font-size:17px!important;line-height:1.72!important}
body.tt-notice-page .notice35-login__head small{font-size:14px!important}
body.tt-notice-page .notice35-login__head h2{font-size:29px!important}
body.tt-notice-page .notice35-login>p{font-size:16px!important;line-height:1.65!important}
body.tt-notice-page .notice35-login label>span,body.tt-notice-page .notice35-login__options,body.tt-notice-page .notice35-register{font-size:14px!important}
body.tt-notice-page .notice35-login input,body.tt-notice-page .notice35-login__submit{font-size:16px!important}
body.tt-notice-page .notice35-member-meta span{font-size:14px!important}
body.tt-notice-page .notice35-quick h2{font-size:23px!important}
body.tt-notice-page .notice35-quick a{font-size:16px!important;line-height:1.4!important}
body.tt-notice-page .notice35-pagination{font-size:15px!important}

/* Activity journal */
body.tt-activity-journal-v39 .aj39-kicker{font-size:14px!important}
body.tt-activity-journal-v39 .aj39-hero__copy p{font-size:18px!important;line-height:1.72!important}
body.tt-activity-journal-v39 .aj39-invitation__date span,body.tt-activity-journal-v39 .aj39-invitation__copy>span{font-size:13px!important}
body.tt-activity-journal-v39 .aj39-invitation__meta small{font-size:14px!important}
body.tt-activity-journal-v39 .aj39-section-head>div:first-child>span,body.tt-activity-journal-v39 .aj39-archive__head>div:first-child>span{font-size:14px!important}
body.tt-activity-journal-v39 .aj39-ticker,body.tt-activity-journal-v39 .aj39-ticker strong,body.tt-activity-journal-v39 .aj39-ticker time{font-size:14px!important}
body.tt-activity-journal-v39 .aj39-next-card__body>div{font-size:13px!important}
body.tt-activity-journal-v39 .aj39-next-card__body p{font-size:17px!important;line-height:1.7!important}
body.tt-activity-journal-v39 .aj39-section-head.is-light>p{font-size:17px!important;line-height:1.72!important}
body.tt-activity-journal-v39 .aj39-past-story__rail time{font-size:14px!important}
body.tt-activity-journal-v39 .aj39-past-story__rail small{font-size:12px!important}
body.tt-activity-journal-v39 .aj39-past-story__copy>span{font-size:13px!important}
body.tt-activity-journal-v39 .aj39-past-story__copy p{font-size:17px!important;line-height:1.7!important}
body.tt-activity-journal-v39 .aj39-years button{font-size:15px!important}
body.tt-activity-journal-v39 .aj39-accordion__trigger time{font-size:15px!important}
body.tt-activity-journal-v39 .aj39-accordion__trigger strong{font-size:22px!important}
body.tt-activity-journal-v39 .aj39-accordion__trigger>span{font-size:13px!important}
body.tt-activity-journal-v39 .aj39-accordion__content p{font-size:16px!important}
body.tt-activity-journal-v39 .aj39-accordion__content a,body.tt-activity-journal-v39 .aj39-all-events{font-size:15px!important}

/* Albums and article details */
body.tt-v33-gallery-index .v33-gallery-hero__intro>p{font-size:18px!important;line-height:1.75!important}
body.tt-v33-gallery-index .v33-gallery-stats span{font-size:15px!important}
body.tt-v33-gallery-index .v33-featured-album__label{font-size:13px!important}
body.tt-v33-gallery-index .v33-featured-album small{font-size:14px!important}
body.tt-v33-gallery-index .v33-featured-album strong{font-size:clamp(31px,3vw,46px)!important}
body.tt-v33-gallery-index .v33-featured-album div>span{font-size:15px!important}
body.tt-v33-gallery-index .v33-gallery-toolbar>div>span{font-size:14px!important}
body.tt-v33-gallery-index .v33-album-filter button{font-size:15px!important}
body.tt-v33-gallery-index .v33-album-card__count,body.tt-v33-gallery-index .v33-album-card__meta{font-size:14px!important}
body.tt-v33-gallery-index .v33-album-card__copy h3{font-size:29px!important;line-height:1.18!important}
body.tt-v33-gallery-index .v33-album-card__copy p{font-size:17px!important;line-height:1.65!important}
body.tt-v33-gallery-index .v33-album-card__link{font-size:15px!important}
body.tt-v33-album-detail .v33-album-hero__copy>p,body.tt-v33-album-detail .v33-album-story,body.tt-v33-album-detail .v33-album-story p{font-size:18px!important;line-height:1.8!important}
body.tt-v33-album-detail .v33-album-hero__meta small{font-size:13px!important}
body.tt-v33-album-detail .v33-album-hero__meta strong{font-size:16px!important}
body.tt-v33-album-detail .v33-gallery-head>p,body.tt-v33-album-detail .v33-gallery-head>a{font-size:15px!important}
body.tt-v33-album-detail .v33-photo-card__index,body.tt-v33-album-detail .v33-photo-card__copy small{font-size:13px!important}
body.tt-v33-album-detail .v33-photo-card__copy strong{font-size:21px!important}
body.tt-v33-notice-detail .v33-article-hero__copy>p,body.tt-v33-activity-detail .v33-article-hero__copy>p{font-size:18px!important;line-height:1.75!important}
body.tt-v33-notice-detail .v33-back-link,body.tt-v33-activity-detail .v33-back-link{font-size:15px!important}
body.tt-v33-notice-detail .v33-article-meta span,body.tt-v33-activity-detail .v33-article-meta span{font-size:15px!important}
body.tt-v33-notice-detail .v33-prose,body.tt-v33-activity-detail .v33-prose{font-size:18px!important;line-height:1.85!important}
body.tt-v33-notice-detail .v33-prose h2,body.tt-v33-activity-detail .v33-prose h2{font-size:38px!important}
body.tt-v33-notice-detail .v33-prose h3,body.tt-v33-activity-detail .v33-prose h3{font-size:31px!important}
body.tt-v33-notice-detail .v33-section-title>span,body.tt-v33-activity-detail .v33-section-title>span{font-size:13px!important}
body.tt-v33-notice-detail .v33-section-title h2,body.tt-v33-activity-detail .v33-section-title h2{font-size:29px!important}
body.tt-v33-notice-detail .v33-attachment div strong,body.tt-v33-activity-detail .v33-attachment div strong{font-size:16px!important}
body.tt-v33-notice-detail .v33-attachment div small,body.tt-v33-activity-detail .v33-attachment div small{font-size:13px!important}
body.tt-v33-notice-detail .v33-related-list small,body.tt-v33-activity-detail .v33-related-list small{font-size:13px!important}
body.tt-v33-notice-detail .v33-related-list strong,body.tt-v33-activity-detail .v33-related-list strong{font-size:17px!important}
body.tt-v33-notice-detail .v33-related-all,body.tt-v33-activity-detail .v33-related-all{font-size:14px!important}

/* Resident account after sign-in */
body.resident-account-page .resident-portal-v40{font-size:18px!important}
body.resident-account-page .resident-eyebrow-v40{font-size:15px!important}
body.resident-account-page .resident-welcome-v40 h1{font-size:34px!important}
body.resident-account-page .resident-meta-v40{font-size:16px!important}
body.resident-account-page .resident-button-v40{font-size:16px!important}
body.resident-account-page .resident-sidebar-v40__brand span{font-size:14px!important}
body.resident-account-page .resident-sidebar-v40__brand strong{font-size:23px!important}
body.resident-account-page .resident-sidebar-v40 nav a{font-size:17px!important;line-height:1.35!important}
body.resident-account-page .resident-sidebar-v40__support strong{font-size:19px!important}
body.resident-account-page .resident-sidebar-v40__support p,body.resident-account-page .resident-sidebar-v40__support a{font-size:15px!important}
body.resident-account-page .resident-page-head-v40>div>span{font-size:14px!important}
body.resident-account-page .resident-page-head-v40 h2{font-size:34px!important}
body.resident-account-page .resident-page-head-v40 p{font-size:17px!important}
body.resident-account-page .resident-card-v40 h3,body.resident-account-page .resident-shortcut-v40 strong{font-size:22px!important}
body.resident-account-page .resident-card-v40 p,body.resident-account-page .resident-shortcut-v40 span,body.resident-account-page .resident-notice-v40 p{font-size:16px!important}
body.resident-account-page .resident-form-v40 label,body.resident-account-page .resident-form-v40 input,body.resident-account-page .resident-form-v40 select,body.resident-account-page .resident-form-v40 textarea{font-size:16px!important}

@media(max-width:680px){
  :root{--tt-readable-body:17px}
  body.tt-v24 .inner-header nav a,body.tt-v24 .inner-nav a{font-size:16px!important}
  body.tt-notice-page .notice35-hero__copy h1{font-size:49px!important}
  body.tt-notice-page .notice35-hero__copy>p{font-size:17px!important}
  body.tt-notice-page .notice35-item__copy h2{font-size:24px!important}
  body.tt-activity-journal-v39 .aj39-hero__copy p,body.tt-activity-journal-v39 .aj39-next-card__body p,body.tt-activity-journal-v39 .aj39-past-story__copy p{font-size:16px!important}
  body.resident-account-page .resident-welcome-v40 h1,body.resident-account-page .resident-page-head-v40 h2{font-size:29px!important}
}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/tulip-encode-sans-v44.css */
/* Tulip Tower V44 — one typeface across public, resident and admin pages. */
:root{
  --font-sans:"Encode Sans",Arial,sans-serif!important;
  --font-display:"Encode Sans",Arial,sans-serif!important;
  --font-body:"Encode Sans",Arial,sans-serif!important;
  --bs-body-font-family:"Encode Sans",Arial,sans-serif!important;
}
html,body{
  font-family:"Encode Sans",Arial,sans-serif!important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
html body *:not(.fa):not(.fas):not(.far):not(.fal):not(.fad):not(.fab):not(.fa-solid):not(.fa-regular):not(.fa-light):not(.fa-brands):not(.mdi):not(.bx):not(.las):not(.lar):not(.lab):not(.material-icons):not(.material-symbols-outlined):not([class^="ri-"]):not([class*=" ri-"]):not([class^="mdi-"]):not([class*=" mdi-"]):not([class^="bx-"]):not([class*=" bx-"]):not([class^="icon-"]):not([class*=" icon-"]):not([data-feather]){
  font-family:"Encode Sans",Arial,sans-serif!important;
}
html body input::placeholder,html body textarea::placeholder{
  font-family:"Encode Sans",Arial,sans-serif!important;
}
html body .ql-editor,html body .ck-content,html body .tox,html body .note-editable{
  font-family:"Encode Sans",Arial,sans-serif!important;
}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/tulip-ui-fixes-v45.css */
/* Tulip Tower V45 — spacing, resident sidebar and admin navigation refinements. */

/* Give multi-line headings a little more breathing room across public pages. */
html body.tt-v24.tt-v24 h1{line-height:1.16!important}
html body.tt-v24.tt-v24 h2{line-height:1.23!important}
html body.tt-v24.tt-v24 h3{line-height:1.28!important}
html body.tt-v24.tt-v24 h4,
html body.tt-v24.tt-v24 h5,
html body.tt-v24.tt-v24 h6{line-height:1.32!important}

/* Keep the resident account and quick links together while scrolling. */
@media(min-width:941px){
  body.tt-notice-page .notice35-sidebar{
    position:sticky!important;
    top:94px!important;
    align-self:start!important;
  }
  body.tt-notice-page .notice35-login{
    position:relative!important;
    top:auto!important;
    scroll-margin-top:94px!important;
  }
}

/* Admin headings and level-two navigation. */
html body.tulip-admin-luxury-v42.tulip-admin-luxury-v42 h1{line-height:1.18!important}
html body.tulip-admin-luxury-v42.tulip-admin-luxury-v42 h2{line-height:1.24!important}
html body.tulip-admin-luxury-v42.tulip-admin-luxury-v42 h3{line-height:1.28!important}
html body.tulip-admin-luxury-v42.tulip-admin-luxury-v42 h4,
html body.tulip-admin-luxury-v42.tulip-admin-luxury-v42 h5,
html body.tulip-admin-luxury-v42.tulip-admin-luxury-v42 h6{line-height:1.32!important}

body.tulip-admin-luxury-v42 .navbar-menu .tulip-admin-menu .menu-dropdown{
  margin-right:7px!important;
  margin-left:10px!important;
  padding-left:0!important;
}
body.tulip-admin-luxury-v42 .navbar-menu .tulip-admin-menu .nav-sm .nav-link,
body.tulip-admin-luxury-v42 .navbar-menu .tulip-admin-menu .menu-dropdown .nav-link{
  min-height:40px!important;
  margin-right:3px!important;
  margin-left:4px!important;
  padding:9px 9px 9px 22px!important;
  line-height:1.42!important;
  overflow-wrap:normal;
  word-break:normal;
}
body.tulip-admin-luxury-v42 .navbar-menu .tulip-admin-menu .menu-dropdown .nav-link:before{
  left:7px!important;
}

@media(max-width:940px){
  body.tt-notice-page .notice35-sidebar{position:relative!important;top:auto!important}
}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/tulip-menu-layout-v46.css */
/* Tulip Tower V46 — lighter navigation and wider resident workspace. */

/* Public primary and mobile navigation: clear, light-weight labels. */
html body.tt-v24 .site-header .desktop-nav a,
html body.tt-v24 .inner-header .desktop-nav a,
html body.tt-v24 .inner-nav a,
html body.tt-v24 .mobile-menu>a,
html body.tt-v24 .auth-user-chip{
  font-weight:400!important;
}

/* Resident account: wider frame with two equal-height columns. */
body.resident-account-page .resident-portal-v40__container{
  width:min(1440px,100%)!important;
}

body.resident-account-page .resident-sidebar-v40 nav a,
body.resident-account-page .resident-sidebar-v40 nav a.is-active,
body.resident-account-page .resident-sidebar-v40 nav a:hover{
  font-weight:400!important;
}

@media(min-width:901px){
  body.resident-account-page .resident-portal-v40__layout{
    grid-template-columns:282px minmax(0,1fr)!important;
    align-items:stretch!important;
    height:calc(100vh - 205px);
    height:max(620px,calc(100dvh - 205px));
    min-height:620px;
    gap:22px!important;
  }
  body.resident-account-page .resident-sidebar-v40{
    position:relative!important;
    top:auto!important;
    display:flex!important;
    flex-direction:column!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
    padding:22px 16px!important;
  }
  body.resident-account-page .resident-sidebar-v40 nav{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.22) transparent;
  }
  body.resident-account-page .resident-sidebar-v40__support{
    position:relative!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    flex:0 0 auto;
    margin-top:auto!important;
  }
  body.resident-account-page .resident-main-v40{
    height:100%!important;
    min-height:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    scrollbar-width:thin;
    scrollbar-color:#9eb1b4 transparent;
  }
  body.resident-account-page .resident-main-v40::-webkit-scrollbar,
  body.resident-account-page .resident-sidebar-v40 nav::-webkit-scrollbar{width:7px}
  body.resident-account-page .resident-main-v40::-webkit-scrollbar-track,
  body.resident-account-page .resident-sidebar-v40 nav::-webkit-scrollbar-track{background:transparent}
  body.resident-account-page .resident-main-v40::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:#9eb1b4;
  }
  body.resident-account-page .resident-sidebar-v40 nav::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:rgba(255,255,255,.22);
  }
}

/* Community fund/project navigation: wider and visually lighter. */
html body.tt-v24 .resident-fund__wrap{
  width:min(1320px,calc(100% - 32px))!important;
}
html body.tt-v24 .resident-fund-nav{
  margin-right:8px!important;
  margin-left:8px!important;
}
html body.tt-v24 .resident-fund .resident-fund-nav a,
html body.tt-v24 .resident-fund .resident-fund-nav a.active,
html body.tt-v24 .resident-fund .resident-fund-nav a:hover{
  font-weight:400!important;
}

/* Admin: level-two items sit only slightly inside the parent menu. */
body.tulip-admin-luxury-v42 .navbar-menu .tulip-admin-menu .menu-dropdown{
  margin-right:5px!important;
  margin-left:2px!important;
  padding-left:0!important;
}
body.tulip-admin-luxury-v42 .navbar-menu .tulip-admin-menu .nav-link,
body.tulip-admin-luxury-v42 .navbar-menu .tulip-admin-menu .nav-link.active,
body.tulip-admin-luxury-v42 .navbar-menu .tulip-admin-menu .nav-link[aria-expanded="true"]{
  font-weight:400!important;
}
body.tulip-admin-luxury-v42 .navbar-menu .tulip-admin-menu .nav-sm .nav-link,
body.tulip-admin-luxury-v42 .navbar-menu .tulip-admin-menu .menu-dropdown .nav-link{
  margin-right:2px!important;
  margin-left:1px!important;
  padding:9px 8px 9px 17px!important;
  font-weight:400!important;
}
body.tulip-admin-luxury-v42 .navbar-menu .tulip-admin-menu .menu-dropdown .nav-link:before{
  left:4px!important;
}

@media(max-width:900px){
  body.resident-account-page .resident-portal-v40__container{width:100%!important}
}

@media(max-width:600px){
  html body.tt-v24 .resident-fund__wrap{width:min(100% - 18px,1320px)!important}
  html body.tt-v24 .resident-fund-nav{margin-right:5px!important;margin-left:5px!important}
}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/tulip-weather-night-v47.css */
/* Tulip Tower V47 — time-aware night weather */

html.theme-night.weather-clear-night .night-sky{
  opacity:1!important;
  visibility:visible!important;
}

html.theme-night.weather-clear-night .stars{
  opacity:1!important;
}

html.theme-night.weather-clear-night .moon{
  opacity:.96!important;
}

html.theme-night.weather-clear-night .weather-clouds{
  opacity:.035!important;
}

html.theme-night.weather-clear-night .three-weather-clouds{
  opacity:.22!important;
}

html.theme-night:not(.weather-clear-night) .shooting-star{
  display:none!important;
}

html.theme-day .shooting-star{
  display:none!important;
}

.shooting-star-3{
  top:17%!important;
  left:32%!important;
  width:68px!important;
  transform:rotate(-22deg)!important;
  animation:tulipShootingStarV47Three 19s ease-in-out infinite!important;
  animation-delay:11s!important;
}

.shooting-star-4{
  top:31%!important;
  left:72%!important;
  width:58px!important;
  transform:rotate(-31deg)!important;
  animation:tulipShootingStarV47Four 23s ease-in-out infinite!important;
  animation-delay:16s!important;
}

@keyframes tulipShootingStarV47Three{
  0%,82%,100%{opacity:0;transform:translate3d(0,0,0) rotate(-22deg) scaleX(.42)}
  84%{opacity:.84}
  89%{opacity:0;transform:translate3d(175px,74px,0) rotate(-22deg) scaleX(1.08)}
}

@keyframes tulipShootingStarV47Four{
  0%,86%,100%{opacity:0;transform:translate3d(0,0,0) rotate(-31deg) scaleX(.38)}
  88%{opacity:.72}
  93%{opacity:0;transform:translate3d(150px,92px,0) rotate(-31deg) scaleX(1)}
}

@media(max-width:720px){
  .shooting-star-3{left:20%!important;width:52px!important}
  .shooting-star-4{left:61%!important;width:46px!important}
}

@media(prefers-reduced-motion:reduce){
  .shooting-star{display:none!important}
}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/community-v48.css */
/* Tulip Tower V48.2 — notice slider conflict fix + draggable sliders + feedback success */

/* NOTICE SLIDER
   V48 originally nested a new grid slider inside the legacy V25.5 featured card.
   The legacy selector had higher specificity and kept absolute media / 43% padding,
   causing the new layout to collapse. These rules deliberately reset that layer. */
body.tt-v24 .notice-v255-feature.notice-slider-v48{
  position:relative!important;
  display:block!important;
  min-height:0!important;
  padding:0!important;
  overflow:hidden!important;
  isolation:isolate;
  color:#fff!important;
  background:linear-gradient(135deg,#04233a 0%,#07334c 56%,#0a3b50 100%)!important;
}
body.tt-v24 .notice-v255-feature.notice-slider-v48::before,
body.tt-v24 .notice-v255-feature.notice-slider-v48::after{display:none!important;content:none!important}
body.tt-v24 .notice-slider-v48__track{
  position:relative;
  z-index:1;
  display:flex!important;
  width:100%!important;
  align-items:stretch;
  transition:transform .52s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
  touch-action:pan-y;
  cursor:grab;
  user-select:none;
}
body.tt-v24 .notice-slider-v48__track.is-dragging{cursor:grabbing;transition:none}
body.tt-v24 .notice-slide-v48{
  position:relative;
  flex:0 0 100%;
  min-width:100%;
  min-height:420px;
  display:grid!important;
  grid-template-columns:minmax(280px,.84fr) minmax(0,1.16fr)!important;
  align-items:stretch;
  overflow:hidden;
  background:linear-gradient(135deg,#04233a 0%,#07334c 57%,#0a3b50 100%);
}
body.tt-v24 .notice-slide-v48 .notice-v255-media{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  z-index:1!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:420px!important;
  overflow:hidden!important;
  pointer-events:auto!important;
  background:#123d55;
}
body.tt-v24 .notice-slide-v48 .notice-v255-media>img:first-child{
  position:absolute;
  inset:0;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:scale(1.015)!important;
  filter:saturate(.9) contrast(1.02) brightness(.78)!important;
  transition:transform .55s ease;
}
body.tt-v24 .notice-slide-v48 .notice-v255-media:hover>img:first-child{transform:scale(1.045)!important}
body.tt-v24 .notice-slide-v48 .notice-v255-media-shade{
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(4,35,58,.08) 0%,rgba(4,35,58,.16) 55%,rgba(4,35,58,.46) 100%),linear-gradient(0deg,rgba(4,30,47,.22),transparent 48%)!important;
}
body.tt-v24 .notice-slide-v48 .notice-v255-watermark{
  right:22px!important;
  top:22px!important;
  width:54px!important;
  height:54px!important;
  opacity:.24!important;
}
body.tt-v24 .notice-slide-v48 .notice-v33-media-action{
  position:absolute;
  z-index:4;
  left:22px;
  bottom:20px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.3);
  border-radius:999px;
  background:rgba(5,36,54,.55);
  color:#fff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.03em;
  backdrop-filter:blur(8px);
}
body.tt-v24 .notice-slide-v48 .notice-v48-copy{
  position:relative!important;
  z-index:3!important;
  min-width:0!important;
  max-width:none!important;
  padding:36px 42px 72px!important;
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  background:linear-gradient(110deg,rgba(4,35,58,.98),rgba(8,54,76,.96));
}
body.tt-v24 .notice-slide-v48 .notice-v255-kicker{margin-top:18px!important;font-size:22px!important}
body.tt-v24 .notice-slide-v48 h2{
  width:100%;
  max-width:560px!important;
  margin:7px 0 12px!important;
  font-size:clamp(25px,2.05vw,34px)!important;
  line-height:1.16!important;
  letter-spacing:-.025em!important;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
body.tt-v24 .notice-slide-v48 h2 a{color:inherit!important;text-decoration:none!important}
body.tt-v24 .notice-slide-v48 .notice-v255-rule{margin:0 0 15px!important}
body.tt-v24 .notice-slide-v48 p{
  width:100%;
  max-width:55ch!important;
  margin:0 0 18px!important;
  color:rgba(247,250,251,.82)!important;
  font-size:14px!important;
  line-height:1.62!important;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
body.tt-v24 .notice-slide-v48 .notice-v255-actions{margin-top:4px!important;gap:14px!important}
body.tt-v24 .notice-slider-v48__controls{
  position:absolute;
  z-index:9;
  right:24px;
  bottom:18px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:5px 7px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(3,29,46,.48);
  backdrop-filter:blur(10px);
}
body.tt-v24 .notice-slider-v48__controls>button{
  width:30px;
  height:30px;
  padding:0;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.08);
  color:#f7e2b8;
  font-size:20px;
  line-height:1;
  cursor:pointer;
  transition:.2s ease;
}
body.tt-v24 .notice-slider-v48__controls>button:hover{background:#deb76e;color:#092d44;border-color:#deb76e;transform:translateY(-1px)}
body.tt-v24 .notice-slider-v48 .notice-v255-pager{
  position:static!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  display:flex!important;
  gap:6px;
  align-items:center;
}
body.tt-v24 .notice-slider-v48 .notice-v255-pager button{
  width:7px;
  height:7px;
  border:0;
  border-radius:50%;
  padding:0;
  background:rgba(255,255,255,.34);
  cursor:pointer;
  transition:.25s ease;
}
body.tt-v24 .notice-slider-v48 .notice-v255-pager button.active{width:21px;border-radius:99px;background:#e0b76b}

/* All visual sliders that support pointer/touch dragging. */
.hero-slider,.sponsor-viewport,.activity-viewport,[data-drag-slider]{touch-action:pan-y}
.hero-slider.is-dragging,.sponsor-viewport.is-dragging{cursor:grabbing}
.sponsor-viewport{cursor:grab}
.sponsor-v255-copy p{max-width:65ch}

/* Resident feedback success popup. */
.resident-feedback-success-v48{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:22px;animation:tt48Fade .2s ease}
.resident-feedback-success-v48__backdrop{position:absolute;inset:0;border:0;background:rgba(7,24,36,.62);backdrop-filter:blur(6px)}
.resident-feedback-success-v48__card{position:relative;width:min(520px,100%);padding:34px 34px 30px;border-radius:22px;background:#fff;text-align:center;box-shadow:0 30px 90px rgba(0,0,0,.25);animation:tt48Pop .3s cubic-bezier(.2,.8,.2,1)}
.resident-feedback-success-v48__icon{width:72px;height:72px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#e5f6ed;color:#287452;font-size:30px}
.resident-feedback-success-v48__card>span{font-size:10px;letter-spacing:.17em;font-weight:800;color:#8a9ba6}
.resident-feedback-success-v48__card h3{margin:8px 0 12px;color:#193f59;font-size:24px}
.resident-feedback-success-v48__card p{color:#657a88;line-height:1.65;margin:0 auto 20px;max-width:430px}
.resident-feedback-success-v48.is-closing{opacity:0;transition:.18s}
.feedback-modal-open-v48{overflow:hidden}
@keyframes tt48Fade{from{opacity:0}to{opacity:1}}
@keyframes tt48Pop{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}

@media(max-width:1050px){
  body.tt-v24 .notice-slide-v48{grid-template-columns:minmax(250px,.9fr) minmax(0,1.1fr)!important;min-height:390px}
  body.tt-v24 .notice-slide-v48 .notice-v255-media{min-height:390px!important}
  body.tt-v24 .notice-slide-v48 .notice-v48-copy{padding:30px 32px 68px!important}
  body.tt-v24 .notice-slide-v48 h2{font-size:clamp(24px,3.2vw,31px)!important}
}

@media(max-width:720px){
  body.tt-v24 .notice-v255-feature.notice-slider-v48{min-height:0!important;padding:0!important;border-radius:22px!important}
  body.tt-v24 .notice-slide-v48{grid-template-columns:1fr!important;min-height:0!important}
  body.tt-v24 .notice-slide-v48 .notice-v255-media{
    position:relative!important;
    width:100%!important;
    height:220px!important;
    min-height:220px!important;
  }
  body.tt-v24 .notice-slide-v48 .notice-v255-media-shade{background:linear-gradient(180deg,rgba(4,35,58,.03),rgba(4,35,58,.2))!important}
  body.tt-v24 .notice-slide-v48 .notice-v48-copy{padding:24px 22px 70px!important;min-height:310px}
  body.tt-v24 .notice-slide-v48 .notice-v255-topline{gap:7px!important}
  body.tt-v24 .notice-slide-v48 .notice-v255-kicker{font-size:19px!important;margin-top:15px!important}
  body.tt-v24 .notice-slide-v48 h2{font-size:25px!important;line-height:1.16!important;margin:6px 0 11px!important;-webkit-line-clamp:3}
  body.tt-v24 .notice-slide-v48 p{font-size:13px!important;line-height:1.58!important;-webkit-line-clamp:3}
  body.tt-v24 .notice-slide-v48 .notice-v255-actions{margin-top:2px!important;gap:10px!important}
  body.tt-v24 .notice-slide-v48 .notice-v255-action{min-height:42px!important;padding:0 14px!important;font-size:9px!important}
  body.tt-v24 .notice-slide-v48 .notice-v255-read{font-size:10px!important}
  body.tt-v24 .notice-slider-v48__controls{right:14px;bottom:14px;gap:6px;padding:4px 6px}
  body.tt-v24 .notice-slider-v48__controls>button{width:28px;height:28px;font-size:18px}
  body.tt-v24 .notice-slider-v48 .notice-v255-pager button{width:6px;height:6px}
  body.tt-v24 .notice-slider-v48 .notice-v255-pager button.active{width:18px}
  .resident-feedback-success-v48__card{padding:28px 20px 24px}
  .resident-feedback-success-v48__card h3{font-size:21px}
}

@media(prefers-reduced-motion:reduce){
  body.tt-v24 .notice-slider-v48__track{transition:none!important}
  body.tt-v24 .notice-slide-v48 .notice-v255-media>img:first-child{transition:none!important}
}

/* V48.3 — smoother circular notice slider, no text selection while dragging,
   and a single professional arrow language across homepage sliders/links. */
body.tt-v24 .notice-slider-v48,
body.tt-v24 .notice-slider-v48 *,
body.tt-v24 .sponsor-v255 .sponsor-viewport,
body.tt-v24 .sponsor-v255 .sponsor-viewport *{
  -webkit-user-select:none!important;
  user-select:none!important;
  -webkit-touch-callout:none;
}
body.tt-v24 .notice-slider-v48 img,
body.tt-v24 .sponsor-v255 .sponsor-viewport img{
  -webkit-user-drag:none;
  user-drag:none;
  pointer-events:none;
}
body.tt-v24 .notice-slider-v48 a,
body.tt-v24 .notice-slider-v48 button,
body.tt-v24 .sponsor-v255 .sponsor-viewport a,
body.tt-v24 .sponsor-v255 .sponsor-viewport button{
  -webkit-user-drag:none;
}
body.tt-v24 .notice-slider-v48__track{
  transition:transform .58s cubic-bezier(.22,.78,.24,1)!important;
  backface-visibility:hidden;
  transform-style:preserve-3d;
}
body.tt-v24 .notice-slider-v48__track.is-dragging{
  transition:none!important;
  cursor:grabbing!important;
}
body.tt-v24 .notice-slide-v48,
body.tt-v24 .sponsor-v255-slide{
  backface-visibility:hidden;
}
body.tt-v24 .sponsor-v255 .sponsor-viewport{cursor:grab!important}
body.tt-v24 .sponsor-v255 .sponsor-viewport.is-dragging{cursor:grabbing!important}

/* Vector arrows: identical stroke, alignment and motion everywhere. */
.tt-arrow-icon{
  display:block;
  width:17px;
  height:17px;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}
.tt-arrow-icon--line{width:16px;height:16px}
.tt-arrow-icon--up{width:15px;height:15px}
.tt-link-arrow,
.notice-action-arrow{
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 auto;
  margin-left:5px!important;
  transition:transform .22s cubic-bezier(.2,.7,.2,1);
}
a:hover .tt-link-arrow,
button:hover .tt-link-arrow,
a:hover .notice-action-arrow{transform:translateX(3px)}

body.tt-v24 .notice-slide-v48 .notice-v33-media-action{
  gap:9px!important;
  min-height:36px;
  padding:0 13px!important;
  transition:opacity .24s ease,transform .24s ease,background .24s ease,border-color .24s ease!important;
}
body.tt-v24 .notice-slide-v48 .notice-v33-media-action .tt-arrow-icon{transition:transform .22s ease}
body.tt-v24 .notice-slide-v48 .notice-v33-clickable-media:hover .notice-v33-media-action{
  background:rgba(6,42,62,.74)!important;
  border-color:rgba(238,198,126,.54)!important;
}
body.tt-v24 .notice-slide-v48 .notice-v33-clickable-media:hover .notice-v33-media-action .tt-arrow-icon{transform:translate(2px,-2px)}

/* Prev/next buttons use the same geometry in Notice + Community partners. */
body.tt-v24 .notice-slider-v48__controls > .tt-slider-nav,
body.tt-v24 .sponsor-v255 .sponsor-v255-controls > .tt-slider-nav{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(255,255,255,.2)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.075)!important;
  color:#f4dfb6!important;
  opacity:1!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 5px 16px rgba(0,0,0,.08)!important;
  cursor:pointer!important;
  transform:none!important;
  transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease!important;
}
body.tt-v24 .notice-slider-v48__controls > .tt-slider-nav:hover,
body.tt-v24 .sponsor-v255 .sponsor-v255-controls > .tt-slider-nav:hover{
  background:#ddb569!important;
  border-color:#ddb569!important;
  color:#082f48!important;
  transform:translateY(-1px)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.15)!important;
}
body.tt-v24 .notice-slider-v48__controls > .tt-slider-nav:active,
body.tt-v24 .sponsor-v255 .sponsor-v255-controls > .tt-slider-nav:active{transform:translateY(0) scale(.96)!important}
body.tt-v24 .notice-slider-v48__controls > .tt-slider-nav .tt-arrow-icon,
body.tt-v24 .sponsor-v255 .sponsor-v255-controls > .tt-slider-nav .tt-arrow-icon{width:16px;height:16px;stroke-width:2}

body.tt-v24 .notice-v255-row .mini-arrow{
  padding:0!important;
  transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease!important;
}
body.tt-v24 .notice-v255-row .mini-arrow .tt-arrow-icon{width:15px;height:15px;transition:transform .22s ease}
body.tt-v24 .notice-v255-row:hover .mini-arrow .tt-arrow-icon{transform:translateX(2px)}
body.tt-v24 .notice-v255-all .tt-link-arrow .tt-arrow-icon{width:15px;height:15px}
body.tt-v24 .sponsor-v255 .sponsor-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important}
body.tt-v24 .sponsor-v255 .sponsor-button .tt-link-arrow{margin-left:1px!important}

@media(max-width:720px){
  body.tt-v24 .notice-slider-v48__controls > .tt-slider-nav,
  body.tt-v24 .sponsor-v255 .sponsor-v255-controls > .tt-slider-nav{
    width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;
  }
}

/* Keep legacy hero/activity/quick-access arrow containers, but center the same SVG icon. */
body.tt-v24 .hero-v30-quick-arrow,
body.tt-v24 .upcoming-arrow,
body.tt-v24 .activity-nav .arrow-btn,
body.tt-v24 .hero-slider-compat > button{
  display:grid!important;
  place-items:center!important;
}
body.tt-v24 .hero-v30-quick-arrow .tt-arrow-icon{width:16px;height:16px}
body.tt-v24 .upcoming-arrow .tt-arrow-icon{width:16px;height:16px;transition:transform .22s ease}
body.tt-v24 .upcoming-event-feature:hover .upcoming-arrow .tt-arrow-icon{transform:translate(2px,-2px)}
body.tt-v24 .activity-nav .arrow-btn .tt-arrow-icon,
body.tt-v24 .hero-slider-compat > button .tt-arrow-icon{width:16px;height:16px;stroke-width:2}
body.tt-v24 .tt-slider-nav:focus-visible,
body.tt-v24 .notice-v255-row:focus-visible .mini-arrow,
body.tt-v24 .notice-v33-clickable-media:focus-visible .notice-v33-media-action{
  outline:2px solid #efc97f!important;
  outline-offset:3px!important;
}

/* =====================================================================
   V48.4 — Activity drag polish + partner spacing/logo behavior
   ===================================================================== */

/* Activity carousel follows the pointer smoothly and never selects text. */
body.tt-v24 .activity-slider,
body.tt-v24 .activity-slider *,
body.tt-v24 .activity-track,
body.tt-v24 .activity-track *{
  -webkit-user-select:none!important;
  user-select:none!important;
  -webkit-touch-callout:none;
}
body.tt-v24 .activity-slider{
  cursor:grab;
  touch-action:pan-y;
}
body.tt-v24 .activity-slider.is-dragging,
body.tt-v24 .activity-track.is-dragging{cursor:grabbing!important}
body.tt-v24 .activity-track{
  will-change:transform;
  transform:translate3d(0,0,0);
  transition:transform .5s cubic-bezier(.22,.72,.2,1)!important;
}
body.tt-v24 .activity-track.is-dragging{transition:none!important}
body.tt-v24 .activity-card,
body.tt-v24 .activity-card *{-webkit-user-drag:none}

body.tt-v24 .activity-card-link-v48{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
}
body.tt-v24 .activity-card-link-v48 .tt-link-arrow{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:50%;
  transition:transform .22s ease,background .22s ease,border-color .22s ease;
}
body.tt-v24 .activity-card-link-v48 .tt-arrow-icon{width:13px;height:13px;stroke-width:2}
body.tt-v24 .activity-card:hover .activity-card-link-v48 .tt-link-arrow{
  transform:translateX(3px);
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.4);
}

/* Activity prev/next now use the same premium geometry as other sliders. */
body.tt-v24 .activity-nav{gap:9px!important;margin-top:18px!important}
body.tt-v24 .activity-nav .arrow-btn{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  padding:0!important;
  border:1px solid rgba(18,60,82,.16)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.92)!important;
  color:#153f58!important;
  box-shadow:0 6px 18px rgba(9,45,64,.08)!important;
  cursor:pointer!important;
  transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease!important;
}
body.tt-v24 .activity-nav .arrow-btn:hover{
  background:#0b344d!important;
  border-color:#0b344d!important;
  color:#f1cf91!important;
  transform:translateY(-2px)!important;
  box-shadow:0 10px 24px rgba(9,45,64,.14)!important;
}
body.tt-v24 .activity-nav .arrow-btn:active{transform:translateY(0) scale(.96)!important}
body.tt-v24 .activity-nav .arrow-btn .tt-arrow-icon{width:17px!important;height:17px!important;stroke-width:2!important}

/* Community partner card: reserve a clean footer lane for slider controls,
   so Prev/Next never collide with the registration action. */
body.tt-v24 .sponsor-v255-shell{min-height:260px!important}
body.tt-v24 .sponsor-v255-slide{
  min-height:260px!important;
  padding:38px 38px 82px!important;
}
body.tt-v24 .sponsor-v255-slide.sponsor-v48-has-logo{
  grid-template-columns:105px minmax(0,1fr) auto!important;
}
body.tt-v24 .sponsor-v255-slide.sponsor-v48-no-logo{
  grid-template-columns:minmax(0,1fr) auto!important;
}
body.tt-v24 .sponsor-v255-slide.sponsor-v48-no-logo .sponsor-v255-actions{grid-column:2!important}
body.tt-v24 .sponsor-v255-emblem:empty{display:none!important}
body.tt-v24 .sponsor-v255 .sponsor-logo-box img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}
body.tt-v24 .sponsor-v255-controls{right:34px!important;bottom:23px!important}
body.tt-v24 .sponsor-v255-actions{position:relative;z-index:3}

@media(max-width:1050px){
  body.tt-v24 .sponsor-v255-shell{min-height:285px!important}
  body.tt-v24 .sponsor-v255-slide{
    min-height:285px!important;
    padding:34px 32px 84px!important;
  }
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-has-logo{grid-template-columns:90px minmax(0,1fr)!important}
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-no-logo{grid-template-columns:minmax(0,1fr)!important}
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-has-logo .sponsor-v255-actions{grid-column:2!important}
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-no-logo .sponsor-v255-actions{grid-column:1!important}
  body.tt-v24 .sponsor-v255-actions{padding-right:150px}
  body.tt-v24 .sponsor-v255-controls{right:30px!important;bottom:22px!important}
}

@media(max-width:720px){
  body.tt-v24 .sponsor-v255-shell{min-height:0!important}
  body.tt-v24 .sponsor-v255-slide,
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-no-logo{
    min-height:395px!important;
    padding:30px 24px 92px!important;
  }
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-no-logo{justify-content:center}
  body.tt-v24 .sponsor-v255-actions{padding-right:0!important}
  body.tt-v24 .sponsor-v255-controls{right:18px!important;bottom:20px!important}
  body.tt-v24 .activity-nav .arrow-btn{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
}

@media(prefers-reduced-motion:reduce){
  body.tt-v24 .activity-track{transition:none!important}
}

/* ==========================================================
   V48.6 — Partner footer lane polish
   Keeps the partnership actions visually separate from slider
   navigation, especially on narrow cards / mobile.
   ========================================================== */
body.tt-v24 .sponsor-v255-shell{
  min-height:292px!important;
}
body.tt-v24 .sponsor-v255-slide{
  min-height:292px!important;
  padding-bottom:112px!important;
}
body.tt-v24 .sponsor-v255-actions{
  align-self:center!important;
  margin-bottom:22px!important;
}
body.tt-v24 .sponsor-v255-controls{
  right:34px!important;
  bottom:25px!important;
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  z-index:4!important;
}
body.tt-v24 .sponsor-v255-controls .sponsor-controls{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:54px!important;
}

@media(max-width:1050px){
  body.tt-v24 .sponsor-v255-shell{min-height:320px!important}
  body.tt-v24 .sponsor-v255-slide{min-height:320px!important;padding-bottom:118px!important}
  body.tt-v24 .sponsor-v255-actions{margin-bottom:18px!important;padding-right:0!important}
  body.tt-v24 .sponsor-v255-controls{right:28px!important;bottom:24px!important}
}

@media(max-width:720px){
  body.tt-v24 .sponsor-v255-shell{min-height:0!important}
  body.tt-v24 .sponsor-v255-slide,
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-no-logo{
    min-height:430px!important;
    padding-bottom:126px!important;
  }
  body.tt-v24 .sponsor-v255-actions{
    width:100%!important;
    margin-bottom:24px!important;
  }
  body.tt-v24 .sponsor-v255-controls{
    left:24px!important;
    right:24px!important;
    bottom:24px!important;
    justify-content:center!important;
  }
}

/* ==========================================================
   V48.7 — Community partner navigation + fallback emblem
   - Navigation becomes a dedicated glass control pill.
   - Missing partner artwork gets a subtle animated community icon.
   ========================================================== */
body.tt-v24 .sponsor-v255-shell{
  min-height:304px!important;
}
body.tt-v24 .sponsor-v255-slide,
body.tt-v24 .sponsor-v255-slide.sponsor-v48-no-logo,
body.tt-v24 .sponsor-v255-slide.sponsor-v48-has-logo{
  min-height:304px!important;
  grid-template-columns:105px minmax(0,1fr) 190px!important;
  gap:30px!important;
  padding:36px 38px 104px!important;
  align-items:center!important;
}
body.tt-v24 .sponsor-v255-slide.sponsor-v48-no-logo .sponsor-v255-actions,
body.tt-v24 .sponsor-v255-slide.sponsor-v48-has-logo .sponsor-v255-actions{
  grid-column:3!important;
}
body.tt-v24 .sponsor-v255-actions{
  align-self:center!important;
  margin:0!important;
  min-width:180px!important;
}

/* Fallback visual when no partner logo/cover image has been uploaded. */
body.tt-v24 .sponsor-v48-fallback-emblem{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:88px!important;
}
body.tt-v24 .sponsor-v255 .sponsor-logo-box.sponsor-logo-box--fallback{
  position:relative!important;
  width:88px!important;
  height:88px!important;
  padding:0!important;
  overflow:visible!important;
  clip-path:none!important;
  border-radius:26px!important;
  border:1px solid rgba(231,190,117,.58)!important;
  background:
    radial-gradient(circle at 34% 28%,rgba(239,203,137,.18),transparent 34%),
    linear-gradient(145deg,rgba(9,63,85,.88),rgba(4,34,52,.92))!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 14px 34px rgba(0,0,0,.18)!important;
  isolation:isolate!important;
  animation:ttPartnerFloat 4.8s ease-in-out infinite!important;
}
body.tt-v24 .sponsor-fallback-icon{
  position:relative!important;
  z-index:3!important;
  width:46px!important;
  height:46px!important;
  fill:none!important;
  stroke:#ebc778!important;
  stroke-width:2.25!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  filter:drop-shadow(0 3px 8px rgba(234,193,112,.18))!important;
}
body.tt-v24 .sponsor-fallback-orbit{
  position:absolute!important;
  z-index:1!important;
  inset:-10px!important;
  border:1px solid rgba(228,186,108,.20)!important;
  border-radius:31px!important;
  pointer-events:none!important;
}
body.tt-v24 .sponsor-fallback-orbit--one{
  animation:ttPartnerOrbit 7s linear infinite!important;
}
body.tt-v24 .sponsor-fallback-orbit--two{
  inset:-18px!important;
  opacity:.55!important;
  border-style:dashed!important;
  animation:ttPartnerOrbitReverse 10s linear infinite!important;
}
body.tt-v24 .sponsor-fallback-orbit--one::after{
  content:""!important;
  position:absolute!important;
  width:6px!important;
  height:6px!important;
  right:8px!important;
  top:8px!important;
  border-radius:50%!important;
  background:#e6bd70!important;
  box-shadow:0 0 14px rgba(230,189,112,.75)!important;
}

/* A clear, professional control lane instead of two loose arrows. */
body.tt-v24 .sponsor-v255-controls{
  left:auto!important;
  right:34px!important;
  bottom:24px!important;
  min-height:46px!important;
  padding:5px 7px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  border:1px solid rgba(230,190,117,.24)!important;
  border-radius:999px!important;
  background:rgba(4,34,52,.64)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  backdrop-filter:blur(12px)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.045)!important;
  z-index:8!important;
}
body.tt-v24 .sponsor-v255-controls .sponsor-controls{
  min-width:56px!important;
  height:34px!important;
  padding:0 5px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  border-left:1px solid rgba(255,255,255,.08)!important;
  border-right:1px solid rgba(255,255,255,.08)!important;
}
body.tt-v24 .sponsor-v255-controls .sponsor-dot{
  width:7px!important;
  height:7px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.35)!important;
  transition:width .24s ease,background .24s ease,box-shadow .24s ease!important;
}
body.tt-v24 .sponsor-v255-controls .sponsor-dot.active{
  width:20px!important;
  border-radius:999px!important;
  background:#dfb86e!important;
  box-shadow:0 0 12px rgba(223,184,110,.28)!important;
}
body.tt-v24 .sponsor-v255 .sponsor-v255-controls > .tt-slider-nav{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  border:1px solid transparent!important;
  background:transparent!important;
  color:rgba(255,255,255,.88)!important;
  box-shadow:none!important;
}
body.tt-v24 .sponsor-v255 .sponsor-v255-controls > .tt-slider-nav:hover{
  border-color:rgba(231,192,119,.42)!important;
  background:rgba(230,188,110,.16)!important;
  color:#f2cd87!important;
  box-shadow:none!important;
}

@keyframes ttPartnerFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}
@keyframes ttPartnerOrbit{to{transform:rotate(360deg)}}
@keyframes ttPartnerOrbitReverse{to{transform:rotate(-360deg)}}

@media(max-width:1050px){
  body.tt-v24 .sponsor-v255-shell{min-height:338px!important}
  body.tt-v24 .sponsor-v255-slide,
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-no-logo,
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-has-logo{
    min-height:338px!important;
    grid-template-columns:90px minmax(0,1fr)!important;
    gap:24px!important;
    padding:32px 30px 104px!important;
  }
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-no-logo .sponsor-v255-actions,
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-has-logo .sponsor-v255-actions{
    grid-column:2!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-width:0!important;
  }
  body.tt-v24 .sponsor-v255-controls{right:28px!important;bottom:22px!important}
}

@media(max-width:720px){
  body.tt-v24 .sponsor-v255-shell{min-height:0!important}
  body.tt-v24 .sponsor-v255-slide,
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-no-logo,
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-has-logo{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    min-height:455px!important;
    gap:17px!important;
    padding:28px 24px 102px!important;
  }
  body.tt-v24 .sponsor-v255 .sponsor-logo-box.sponsor-logo-box--fallback{
    width:70px!important;
    height:70px!important;
    border-radius:21px!important;
  }
  body.tt-v24 .sponsor-fallback-icon{width:38px!important;height:38px!important}
  body.tt-v24 .sponsor-v48-fallback-emblem{min-width:70px!important}
  body.tt-v24 .sponsor-v255-actions{
    width:100%!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-width:0!important;
  }
  body.tt-v24 .sponsor-v255-controls{
    left:50%!important;
    right:auto!important;
    bottom:22px!important;
    transform:translateX(-50%)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  body.tt-v24 .sponsor-v255 .sponsor-logo-box.sponsor-logo-box--fallback,
  body.tt-v24 .sponsor-fallback-orbit{animation:none!important}
}


/* ==========================================================
   V48.8 — Partner compact layout / dots-only navigation
   - Prev/Next arrows removed by Blade; slider remains autoplay + drag/swipe.
   - Reduce empty vertical space and keep CTA safely inside the card.
   ========================================================== */
body.tt-v24 .sponsor-v255-shell{
  min-height:252px!important;
}
body.tt-v24 .sponsor-v255-slide,
body.tt-v24 .sponsor-v255-slide.sponsor-v48-no-logo,
body.tt-v24 .sponsor-v255-slide.sponsor-v48-has-logo{
  min-height:252px!important;
  grid-template-columns:92px minmax(0,1fr) minmax(158px,180px)!important;
  gap:26px!important;
  padding:28px 34px 66px!important;
}
body.tt-v24 .sponsor-v255-copy{align-self:center!important}
body.tt-v24 .sponsor-v255-actions{
  min-width:0!important;
  width:100%!important;
  align-self:center!important;
  justify-self:stretch!important;
}
body.tt-v24 .sponsor-v255-controls.sponsor-v48-dots-only{
  left:auto!important;
  right:34px!important;
  bottom:16px!important;
  min-height:30px!important;
  padding:4px 9px!important;
  gap:0!important;
  border-radius:999px!important;
  background:rgba(4,34,52,.46)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.12)!important;
}
body.tt-v24 .sponsor-v255-controls.sponsor-v48-dots-only .sponsor-controls{
  height:22px!important;
  min-width:42px!important;
  padding:0 3px!important;
  border:0!important;
  gap:6px!important;
}
body.tt-v24 .sponsor-v255-controls.sponsor-v48-dots-only > .tt-slider-nav{display:none!important}

@media(max-width:1050px){
  body.tt-v24 .sponsor-v255-shell{min-height:286px!important}
  body.tt-v24 .sponsor-v255-slide,
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-no-logo,
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-has-logo{
    min-height:286px!important;
    grid-template-columns:78px minmax(0,1fr)!important;
    gap:22px!important;
    padding:26px 28px 64px!important;
  }
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-no-logo .sponsor-v255-actions,
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-has-logo .sponsor-v255-actions{
    grid-column:2!important;
    margin-top:2px!important;
  }
  body.tt-v24 .sponsor-v255-controls.sponsor-v48-dots-only{right:28px!important;bottom:15px!important}
}
@media(max-width:720px){
  body.tt-v24 .sponsor-v255-slide,
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-no-logo,
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-has-logo{
    min-height:360px!important;
    gap:14px!important;
    padding:24px 22px 62px!important;
  }
  body.tt-v24 .sponsor-v255-actions{margin-top:0!important;margin-bottom:0!important}
  body.tt-v24 .sponsor-v255-controls.sponsor-v48-dots-only{
    left:50%!important;right:auto!important;bottom:14px!important;transform:translateX(-50%)!important;
  }
}

/* ==========================================================
   V48.9 — Partner compact final + locale-safe header polish
   ========================================================== */
body.tt-v24 .sponsor-v255-shell{min-height:236px!important}
body.tt-v24 .sponsor-v255-slide,
body.tt-v24 .sponsor-v255-slide.sponsor-v48-no-logo,
body.tt-v24 .sponsor-v255-slide.sponsor-v48-has-logo{
  min-height:236px!important;
  grid-template-columns:86px minmax(0,1fr) minmax(150px,174px)!important;
  gap:24px!important;
  padding:24px 32px 54px!important;
}
body.tt-v24 .sponsor-v255-copy h3{margin-top:5px!important;margin-bottom:7px!important}
body.tt-v24 .sponsor-v255-copy p{margin-bottom:0!important}
body.tt-v24 .sponsor-v255-actions{margin:0!important;align-self:center!important}
body.tt-v24 .sponsor-v255-controls.sponsor-v48-dots-only{
  right:30px!important;bottom:12px!important;min-height:26px!important;padding:3px 8px!important;
}
body.tt-v24 .sponsor-v255-controls.sponsor-v48-dots-only .sponsor-controls{height:20px!important;min-width:36px!important;gap:5px!important}
body.tt-v24 .sponsor-v255-controls.sponsor-v48-dots-only .sponsor-dot{width:6px!important;height:6px!important}
body.tt-v24 .sponsor-v255-controls.sponsor-v48-dots-only .sponsor-dot.active{width:18px!important}

/* Real anchor language buttons: keep the exact visual treatment used by legacy buttons. */
body.tt-v24 .lang-switch a[data-lang],
body.tt-v24 .mobile-lang a[data-lang]{text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center}

@media(max-width:1050px){
  body.tt-v24 .sponsor-v255-shell{min-height:268px!important}
  body.tt-v24 .sponsor-v255-slide,
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-no-logo,
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-has-logo{
    min-height:268px!important;grid-template-columns:76px minmax(0,1fr)!important;gap:20px!important;padding:24px 26px 56px!important;
  }
  body.tt-v24 .sponsor-v255-controls.sponsor-v48-dots-only{right:24px!important;bottom:12px!important}
}
@media(max-width:720px){
  body.tt-v24 .sponsor-v255-shell{min-height:0!important}
  body.tt-v24 .sponsor-v255-slide,
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-no-logo,
  body.tt-v24 .sponsor-v255-slide.sponsor-v48-has-logo{
    min-height:332px!important;padding:22px 20px 56px!important;gap:12px!important;
  }
  body.tt-v24 .sponsor-v255-controls.sponsor-v48-dots-only{left:50%!important;right:auto!important;bottom:12px!important;transform:translateX(-50%)!important}
}

/* V48.9 language anchors — same UI as the former buttons, but real URLs. */
body.tt-v24 .lang-switch a[data-lang]{
  border:0!important;background:transparent!important;color:rgba(255,255,255,.62)!important;
  font-size:12px!important;font-weight:800!important;padding:7px 9px!important;border-radius:8px!important;
  cursor:pointer!important;width:auto!important;min-width:32px!important;height:auto!important;line-height:1.2!important;
  transition:transform .25s ease,background-color .25s ease,color .25s ease,box-shadow .25s ease!important;
}
body.tt-v24 .lang-switch a[data-lang].active{background:#fff!important;color:#08283c!important}
body.tt-v24 .mobile-lang a[data-lang]{
  border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.06)!important;color:#fff!important;
  border-radius:9px!important;padding:8px 11px!important;font-size:11px!important;font-weight:800!important;
  cursor:pointer!important;width:auto!important;min-width:40px!important;height:auto!important;line-height:1.2!important;
  transition:transform .25s ease,background-color .25s ease,color .25s ease,box-shadow .25s ease!important;
}
body.tt-v24 .mobile-lang a[data-lang].active{background:#fff!important;color:#08283c!important}
@media(hover:hover) and (pointer:fine){
  body.tt-v24 .lang-switch a[data-lang]:hover,
  body.tt-v24 .mobile-lang a[data-lang]:hover{transform:translateY(-2px)!important;box-shadow:0 7px 18px rgba(6,44,67,.10)!important}
}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/community-v48-12-polish.css */
/* Tulip Tower V48.12 — visual polish only
   Loaded last to avoid clashes with older theme layers. */

:root{
  --tt4812-gold:#e4c58c;
  --tt4812-gold-deep:#c99f58;
  --tt4812-navy:#073449;
  --tt4812-navy-2:#0b4357;
  --tt4812-ivory:#f7f3eb;
  --tt4812-mist:#eef3f0;
}

/* 1) Resident login accent */
body.tt-home .hero-v30-action-secondary span{
  color:#e4c58c!important;
}
body.tt-home .hero-v30-action-secondary:hover span{color:#f0d8aa!important}

/* 2) Homepage slogan — Noto Serif Display */
body.tt-home .hero-v31-title.hero-v31-title-noto,
body.tt-home .hero-v31-title.hero-v31-title-noto>span,
body.tt-home .hero-v31-title.hero-v31-title-noto .hero-v31-title-single{
  font-family:"Noto Serif Display",Georgia,serif!important;
  font-optical-sizing:auto;
  font-weight:600!important;
  letter-spacing:-.035em!important;
}

/* 3) Resident notices — illustrated hero + tighter featured area */
body.tt-notice-page .notice35-hero{
  isolation:isolate;
  min-height:390px;
  padding:142px 0 58px;
  background:
    linear-gradient(90deg,rgba(248,245,238,.98) 0%,rgba(248,245,238,.96) 37%,rgba(248,245,238,.78) 57%,rgba(7,52,73,.18) 100%),
    url("../images/hero-tulip-premium.png") center 58%/cover no-repeat!important;
}
body.tt-notice-page .notice35-hero:before{
  right:-88px;top:54px;width:430px;height:390px;
  border-color:rgba(205,165,96,.32);border-left-color:transparent;border-bottom-color:transparent;
}
body.tt-notice-page .notice35-hero:after{
  right:7%;top:49%;width:138px;height:138px;
  background:rgba(255,255,255,.38);box-shadow:0 0 0 30px rgba(255,255,255,.09);
  backdrop-filter:blur(2px);
}
body.tt-notice-page .notice35-hero__copy{max-width:760px}
body.tt-notice-page .notice35-hero__copy h1{max-width:720px!important}
body.tt-notice-page .notice35-hero__copy p{max-width:650px;color:#52676d!important}
body.tt-notice-page .notice35-hero__count{
  padding:22px 0 10px 32px;
  background:linear-gradient(90deg,rgba(255,255,255,.18),rgba(255,255,255,.48));
  border-radius:0 18px 18px 0;
}

@media(min-width:941px){
  body.tt-notice-page .notice35-layout{
    grid-template-columns:minmax(0,1.48fr) minmax(335px,.62fr)!important;
    gap:30px!important;
  }
  body.tt-notice-page .notice35-featured{
    grid-template-columns:minmax(240px,.74fr) minmax(0,1.26fr)!important;
    min-height:244px!important;
    padding:12px!important;
    border:1px solid rgba(18,63,76,.08);
  }
  body.tt-notice-page .notice35-featured__media{min-height:220px!important}
  body.tt-notice-page .notice35-featured__copy{padding:14px 26px 12px!important}
  body.tt-notice-page .notice35-featured h2{margin-top:12px!important;font-size:clamp(24px,1.8vw,29px)!important;line-height:1.16!important}
  body.tt-notice-page .notice35-featured__copy>p{margin-top:9px!important;line-height:1.58!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  body.tt-notice-page .notice35-read{margin-top:15px!important}
  body.tt-notice-page .notice35-login{padding:27px 28px 24px!important;border-radius:20px!important}
  body.tt-notice-page .notice35-login>p{margin:17px 0 19px!important;line-height:1.62!important}
}

/* Professional detail arrows */
body.tt-notice-page .notice35-arrow-svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.tt-notice-page .notice35-read b{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:rgba(7,52,73,.08);transition:transform .28s ease,background .28s ease,color .28s ease}
body.tt-notice-page .notice35-read:hover b{transform:translateX(4px);background:var(--tt4812-navy);color:#fff}
body.tt-notice-page .notice35-item__arrow{
  width:42px!important;height:42px!important;
  border:1px solid rgba(7,52,73,.11);
  box-shadow:0 6px 18px rgba(7,52,73,.06);
}
body.tt-notice-page .notice35-item:hover .notice35-item__arrow{transform:translateX(3px) scale(1.04)!important}
body.tt-notice-page .notice35-quick a b{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border-radius:50%;background:#f3efe7;color:var(--tt4812-navy);transition:.25s ease}
body.tt-notice-page .notice35-quick a:hover b{background:var(--tt4812-navy);color:#fff;transform:translate(2px,-2px)}
body.tt-notice-page .notice35-arrow-svg.is-diagonal{width:15px;height:15px}

/* 4) Gallery — warmer, more layered palette */
body.tt-v33-gallery-index{background:#f5f2eb!important}
body.tt-v33-gallery-index .v33-gallery-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 20%,rgba(228,197,140,.18),transparent 28%),
    radial-gradient(circle at 12% 82%,rgba(92,139,139,.14),transparent 30%),
    linear-gradient(135deg,#082f43 0%,#0b4152 53%,#123f46 100%)!important;
}
body.tt-v33-gallery-index .v33-gallery-hero:before{
  content:"";position:absolute;inset:auto -8% -42% auto;width:520px;height:520px;border-radius:50%;
  border:1px solid rgba(228,197,140,.18);box-shadow:0 0 0 56px rgba(255,255,255,.025);pointer-events:none;
}
body.tt-v33-gallery-index .v33-gallery-hero__grid{position:relative;z-index:1}
body.tt-v33-gallery-index .v33-gallery-hero__intro h1{color:#fff!important}
body.tt-v33-gallery-index .v33-gallery-hero__intro>p{color:rgba(238,246,244,.72)!important}
body.tt-v33-gallery-index .v33-kicker{color:var(--tt4812-gold)!important}
body.tt-v33-gallery-index .v33-gallery-stats{border-color:rgba(228,197,140,.28)!important}
body.tt-v33-gallery-index .v33-gallery-stats strong{color:var(--tt4812-gold)!important}
body.tt-v33-gallery-index .v33-gallery-stats span{color:rgba(238,246,244,.72)!important}
body.tt-v33-gallery-index .v33-featured-album{
  border:1px solid rgba(228,197,140,.32)!important;
  box-shadow:0 26px 70px rgba(2,25,37,.28)!important;
}
body.tt-v33-gallery-index .v33-gallery-index{
  background:
    radial-gradient(circle at 6% 14%,rgba(228,197,140,.10),transparent 24%),
    linear-gradient(180deg,#f7f4ee 0%,#eef3f0 100%)!important;
}
body.tt-v33-gallery-index .v33-gallery-toolbar{border-bottom-color:rgba(11,65,82,.11)!important}
body.tt-v33-gallery-index .v33-gallery-toolbar>div>span{color:#9b7846!important}
body.tt-v33-gallery-index .v33-album-filter button{
  background:rgba(255,255,255,.72)!important;border-color:rgba(11,65,82,.13)!important;color:#45616a!important;
  box-shadow:0 6px 18px rgba(10,49,62,.035);
}
body.tt-v33-gallery-index .v33-album-filter button.active,
body.tt-v33-gallery-index .v33-album-filter button:hover{background:#0a3c50!important;border-color:#0a3c50!important;color:#fff!important}
body.tt-v33-gallery-index .v33-album-card{
  border:1px solid rgba(11,65,82,.09)!important;
  background:rgba(255,255,255,.90)!important;
  box-shadow:0 14px 38px rgba(7,52,73,.055)!important;
}
body.tt-v33-gallery-index .v33-album-card:hover{box-shadow:0 24px 56px rgba(7,52,73,.11)!important}
body.tt-v33-gallery-index .v33-album-card__count{background:rgba(7,52,73,.86)!important;color:#f4dfb5!important}
body.tt-v33-gallery-index .v33-album-card__link{color:#9a7340!important}
body.tt-v33-gallery-index .v33-album-card__link span{display:inline-grid;width:26px;height:26px;place-items:center;margin-left:5px;border-radius:50%;background:#f0e8da;color:#0a3c50;transition:.25s ease}
body.tt-v33-gallery-index .v33-album-card__link:hover span{transform:translateX(3px);background:#0a3c50;color:#fff}

@media(max-width:940px){
  body.tt-notice-page .notice35-hero{min-height:0;background-position:64% 50%!important}
  body.tt-notice-page .notice35-hero:after{opacity:.32}
}
@media(max-width:720px){
  body.tt-notice-page .notice35-hero{
    padding-top:114px!important;
    background:
      linear-gradient(180deg,rgba(248,245,238,.96) 0%,rgba(248,245,238,.93) 72%,rgba(248,245,238,.88) 100%),
      url("../images/hero-tulip-premium.png") 72% center/cover no-repeat!important;
  }
  body.tt-notice-page .notice35-hero__count{background:transparent;border-radius:0}
  body.tt-notice-page .notice35-featured{border-color:rgba(18,63,76,.08)}
  body.tt-v33-gallery-index .v33-gallery-hero:before{width:300px;height:300px;right:-30%;bottom:-24%}
}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/community-v48-30-mobile.css */
/* Tulip Tower V48.30 — mobile responsive polish
   Loaded last on both home and inner layouts. Mobile/tablet only overrides. */

html{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.tt-v24{overflow-x:hidden}
body.tt-v24 *,body.tt-v24 *::before,body.tt-v24 *::after{box-sizing:border-box}
body.tt-v24 img,body.tt-v24 svg,body.tt-v24 video,body.tt-v24 iframe{max-width:100%}
body.tt-v24 input,body.tt-v24 select,body.tt-v24 textarea,body.tt-v24 button{max-width:100%}

@media(max-width:1024px){
  body.tt-v24 .container{width:min(100% - 36px,960px)!important}
  body.tt-v24 .header-shell,body.tt-v24 .inner-header-shell{width:100%!important}
  body.tt-v24 .desktop-nav,body.tt-v24 .inner-nav{gap:14px!important}
  body.tt-v24 .desktop-nav a,body.tt-v24 .inner-nav a{font-size:13.5px!important}
  body.tt-v24 .btn,body.tt-v24 button,body.tt-v24 [role="button"]{min-height:42px}

  /* Inner content: prevent fixed columns from forcing horizontal overflow. */
  body.tt-v24 .v33-article-hero__grid,
  body.tt-v24 .v33-gallery-hero__grid,
  body.tt-v24 .v33-album-hero__grid,
  body.tt-v24 .notice35-layout,
  body.tt-v24 .rv43-hero__grid,
  body.tt-v24 .aj39-next__grid,
  body.tt-v24 .av38-featured__card{min-width:0}
}

@media(max-width:767px){
  :root{--tt-mobile-edge:14px;--tt-mobile-radius:18px}
  html{font-size:16px}
  body.tt-v24{font-size:16px;line-height:1.65}
  body.tt-v24 .container{width:calc(100% - (var(--tt-mobile-edge) * 2))!important;max-width:none!important}
  body.tt-v24 p,body.tt-v24 li{overflow-wrap:anywhere;word-break:normal}
  body.tt-v24 input,body.tt-v24 select,body.tt-v24 textarea{font-size:16px!important;min-height:46px}
  body.tt-v24 textarea{min-height:120px}
  body.tt-v24 a,body.tt-v24 button{-webkit-tap-highlight-color:transparent}

  /* ===== Header / mobile navigation ===== */
  body.tt-v24 .site-header,body.tt-v24 .inner-header{
    padding:max(8px,env(safe-area-inset-top)) 10px 0!important;
  }
  body.tt-v24 .header-shell,body.tt-v24 .inner-header-shell{
    min-height:64px!important;
    padding:7px 8px 7px 12px!important;
    border-radius:16px!important;
    gap:8px!important;
  }
  body.tt-v24 .brand{min-width:0;gap:8px!important}
  body.tt-v24 .brand img{width:38px!important;height:38px!important;object-fit:contain!important;flex:0 0 38px}
  body.tt-v24 .brand-text{min-width:0}
  body.tt-v24 .brand-text strong{font-size:15px!important;line-height:1.05!important;white-space:nowrap}
  body.tt-v24 .brand-text small{font-size:8.5px!important;letter-spacing:.08em!important;white-space:nowrap}
  body.tt-v24 .header-actions{gap:7px!important;min-width:0}
  body.tt-v24 .menu-toggle{width:44px!important;height:44px!important;flex:0 0 44px;border-radius:12px!important}
  body.tt-v24 .lang-desktop,body.tt-v24 .login-desktop,body.tt-v24 .register-desktop{display:none!important}
  body.tt-v24 .auth-user-chip{max-width:118px!important;padding:9px 10px!important}
  body.tt-v24 .auth-user-chip span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.tt-v24 .mobile-menu{
    position:fixed!important;
    top:82px!important;
    left:10px!important;
    right:10px!important;
    width:auto!important;
    max-height:calc(100dvh - 94px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    padding:10px!important;
    border-radius:18px!important;
    box-shadow:0 20px 55px rgba(8,27,49,.22)!important;
  }
  body.tt-v24 .mobile-menu>a{display:flex!important;align-items:center!important;min-height:48px!important;padding:12px 14px!important;font-size:15.5px!important;border-radius:12px!important}
  body.tt-v24 .mobile-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:8px!important}
  body.tt-v24 .mobile-actions form{width:100%}
  body.tt-v24 .mobile-actions .mobile-btn,body.tt-v24 .mobile-actions form button{width:100%!important;min-height:48px!important}
  body.tt-v24 .mobile-lang{display:flex!important;justify-content:center!important;gap:8px!important;padding:12px 6px 4px!important}

  /* ===== Homepage hero ===== */
  body.tt-home .hero-v30{min-height:100svh!important;min-height:100dvh!important;height:auto!important}
  body.tt-home .hero-v30 .slide-content{min-height:100svh!important;min-height:100dvh!important;padding-top:92px!important;padding-bottom:94px!important;display:flex!important;align-items:flex-end!important}
  body.tt-home .hero-v30-stage,body.tt-home .hero-v30-canvas{width:100%!important;min-width:0!important}
  body.tt-home .hero-v30-canvas{padding:0 2px!important}
  body.tt-home .hero-v30-intro{max-width:100%!important}
  body.tt-home .hero-v30-kicker{font-size:11px!important;line-height:1.4!important;letter-spacing:.1em!important}
  body.tt-home .hero-v31-title{font-size:clamp(34px,10vw,43px)!important;line-height:1.02!important;letter-spacing:-.025em!important;max-width:100%!important}
  body.tt-home .hero-v31-title-single{white-space:normal!important}
  body.tt-home .hero-v30-copy{max-width:100%!important;font-size:15px!important;line-height:1.66!important;margin-top:14px!important}
  body.tt-home .hero-v30-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;width:100%!important;margin-top:18px!important}
  body.tt-home .hero-v30-action{width:100%!important;min-height:46px!important;padding:0 12px!important;font-size:13px!important;justify-content:center!important;text-align:center!important}
  body.tt-home .hero-v30-quick{margin-top:18px!important;min-width:0!important}
  body.tt-home .hero-v30-quick-label{font-size:10.5px!important;margin-bottom:8px!important}
  body.tt-home .hero-v30-quick-row{display:flex!important;gap:8px!important;overflow-x:auto!important;padding:2px 1px 7px!important;scroll-snap-type:x proximity;scrollbar-width:none}
  body.tt-home .hero-v30-quick-row::-webkit-scrollbar{display:none}
  body.tt-home .hero-v30-quick-item{flex:0 0 min(76vw,250px)!important;min-width:0!important;scroll-snap-align:start;padding:12px!important;border-radius:14px!important}
  body.tt-home .hero-v30-quick-text strong{font-size:13px!important}
  body.tt-home .hero-v30-quick-text small{font-size:11px!important;line-height:1.4!important}
  body.tt-home .weather-console,body.tt-home .weather-live,body.tt-home .time-mode-badge{display:none!important}
  body.tt-home .hero-bottom{left:var(--tt-mobile-edge)!important;right:var(--tt-mobile-edge)!important;bottom:12px!important;width:auto!important;min-width:0!important}
  body.tt-home .hero-news-marquee{min-width:0!important}
  body.tt-home .hero-news-item{font-size:11.5px!important}

  /* ===== Homepage content blocks ===== */
  body.tt-home .notice-center{padding:40px 0!important}
  body.tt-home .notice-v255-shell{width:calc(100% - 24px)!important;margin-inline:auto!important;border-radius:20px!important;overflow:hidden!important}
  body.tt-home .notice-v255-feature{padding:0!important}
  body.tt-home .notice-slide-v48{grid-template-columns:1fr!important;min-width:100%!important}
  body.tt-home .notice-v255-media{min-height:220px!important;height:220px!important}
  body.tt-home .notice-v255-copy{padding:22px 18px 18px!important;min-width:0!important}
  body.tt-home .notice-v255-copy h2{font-size:27px!important;line-height:1.13!important}
  body.tt-home .notice-v255-copy p{font-size:14px!important;line-height:1.62!important}
  body.tt-home .notice-v255-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  body.tt-home .notice-v255-list{padding:18px 15px 20px!important}
  body.tt-home .notice-v255-row{grid-template-columns:48px minmax(0,1fr) 24px!important;gap:10px!important;padding:13px 0!important}
  body.tt-home .notice-v255-row strong{font-size:14px!important;line-height:1.35!important}
  body.tt-home .notice-v255-row small{font-size:11.5px!important}

  body.tt-home .sponsor-board{padding:44px 0!important}
  body.tt-home .sponsor-v255-shell{width:calc(100% - 24px)!important;margin-inline:auto!important}
  body.tt-home .sponsor-v255-slide{grid-template-columns:1fr!important;gap:16px!important;padding:22px 18px!important;min-height:0!important}
  body.tt-home .sponsor-v255-emblem{width:min(46vw,150px)!important;margin-inline:auto!important}
  body.tt-home .sponsor-v255-copy{text-align:center!important;min-width:0!important}
  body.tt-home .sponsor-v255-copy h2,body.tt-home .sponsor-v255-copy h3{font-size:27px!important;line-height:1.15!important}
  body.tt-home .sponsor-v255-copy p{font-size:14px!important;line-height:1.65!important}
  body.tt-home .sponsor-v255-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  body.tt-home .sponsor-button{width:100%!important;justify-content:center!important;min-height:46px!important}
  body.tt-home .sponsor-v255-register{margin-top:12px!important;text-align:center!important}

  body.tt-home .activity-viewport{overflow:visible!important;clip-path:none!important}
  body.tt-home .activity-track{gap:12px!important}
  body.tt-home .activity-card{flex:0 0 86vw!important;max-width:360px!important;min-height:390px!important;border-radius:18px!important}
  body.tt-home .activity-content{padding:20px 18px!important}
  body.tt-home .activity-content h3{font-size:23px!important;line-height:1.15!important}
  body.tt-home .activity-content p{font-size:13.5px!important;line-height:1.62!important}

  /* ===== Shared inner-page rhythm ===== */
  body.inner-site.tt-v24 .inner-main{padding-top:0!important;min-width:0!important}
  body.inner-site.tt-v24 .page-heading,
  body.inner-site.tt-v24 .luxury-news-heading,
  body.inner-site.tt-v24 .gallery-page-heading,
  body.inner-site.tt-v24 .inner-hero{
    padding-top:104px!important;
    padding-bottom:38px!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,
  body.inner-site.tt-v24 .inner-hero h1{font-size:clamp(34px,10vw,42px)!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,
  body.inner-site.tt-v24 .inner-hero p,
  body.inner-site.tt-v24 .static-lead{font-size:15px!important;line-height:1.7!important;text-align:left!important}
  body.inner-site.tt-v24 .inner-content-section{padding:42px 0 54px!important}
  body.inner-site.tt-v24 .inner-hero-image{min-height:230px!important;border-radius:18px!important}
  body.inner-site.tt-v24 .content-prose,body.inner-site.tt-v24 .content-prose p{font-size:15.5px!important;line-height:1.78!important;text-align:left!important}

  /* ===== Notices ===== */
  body.tt-v24 .notice35-hero{padding-top:104px!important;padding-bottom:38px!important}
  body.tt-v24 .notice35-hero__grid{grid-template-columns:1fr!important;gap:24px!important}
  body.tt-v24 .notice35-hero__copy h1{font-size:clamp(34px,10vw,42px)!important;line-height:1.06!important}
  body.tt-v24 .notice35-hero__count{justify-self:start!important}
  body.tt-v24 .notice35-content{padding:38px 0 56px!important}
  body.tt-v24 .notice35-layout{grid-template-columns:1fr!important;gap:22px!important}
  body.tt-v24 .notice35-featured{grid-template-columns:1fr!important;border-radius:18px!important;overflow:hidden!important}
  body.tt-v24 .notice35-featured__media{min-height:230px!important}
  body.tt-v24 .notice35-featured__copy{padding:22px 18px!important}
  body.tt-v24 .notice35-featured__copy h2{font-size:27px!important;line-height:1.15!important}
  body.tt-v24 .notice35-tools{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  body.tt-v24 .notice35-search{width:100%!important}
  body.tt-v24 .notice35-search input{width:100%!important}
  body.tt-v24 .notice35-filters{display:flex!important;gap:7px!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:5px!important;scrollbar-width:none}
  body.tt-v24 .notice35-filters::-webkit-scrollbar{display:none}
  body.tt-v24 .notice35-filters a{flex:0 0 auto!important;min-height:40px!important;display:inline-flex!important;align-items:center!important}
  body.tt-v24 .notice35-item{grid-template-columns:48px minmax(0,1fr) 26px!important;gap:10px!important;padding:14px 0!important}
  body.tt-v24 .notice35-item__copy strong,body.tt-v24 .notice35-item__copy h3{font-size:15px!important;line-height:1.4!important}
  body.tt-v24 .notice35-item__meta{font-size:11.5px!important;line-height:1.45!important}

  /* ===== News/detail ===== */
  body.tt-v24 .v33-article-hero,body.tt-v24 .v33-gallery-hero,body.tt-v24 .v33-album-hero{padding:104px 0 42px!important}
  body.tt-v24 .v33-article-hero__grid,body.tt-v24 .v33-gallery-hero__grid,body.tt-v24 .v33-album-hero__grid{grid-template-columns:1fr!important;gap:24px!important}
  body.tt-v24 .v33-article-hero__copy h1,body.tt-v24 .v33-gallery-hero__intro h1,body.tt-v24 .v33-album-hero__copy h1{font-size:clamp(34px,10vw,42px)!important;line-height:1.07!important}
  body.tt-v24 .v33-article-hero__media,body.tt-v24 .v33-featured-album,body.tt-v24 .v33-album-hero__cover{min-height:250px!important;border-radius:18px!important}
  body.tt-v24 .v33-article-body,body.tt-v24 .v33-album-content,body.tt-v24 .v33-gallery-index{padding:42px 0 56px!important}
  body.tt-v24 .v33-article-layout{grid-template-columns:1fr!important;gap:24px!important}
  body.tt-v24 .v33-article-rail{display:none!important}
  body.tt-v24 .v33-article-content{min-width:0!important}
  body.tt-v24 .v33-article-lead{font-size:18px!important;line-height:1.65!important}
  body.tt-v24 .v33-prose,body.tt-v24 .v33-prose p{font-size:15.5px!important;line-height:1.78!important}
  body.tt-v24 .v33-attachment{grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;padding:13px!important}
  body.tt-v24 .v33-related-list{grid-template-columns:1fr!important}

  /* ===== Activities ===== */
  body.tt-v24 .aj39-hero{min-height:auto!important;padding:104px 0 42px!important}
  body.tt-v24 .aj39-hero__copy{position:relative!important;inset:auto!important;width:100%!important;padding:0!important}
  body.tt-v24 .aj39-hero__copy-inner{width:calc(100% - 28px)!important;margin-inline:auto!important}
  body.tt-v24 .aj39-hero__copy h1,body.tt-v24 .aj39-hero__outline{font-size:clamp(36px,11vw,46px)!important;line-height:1.03!important}
  body.tt-v24 .aj39-hero__image{position:relative!important;inset:auto!important;width:calc(100% - 28px)!important;height:250px!important;margin:22px auto 0!important;border-radius:18px!important;overflow:hidden!important}
  body.tt-v24 .aj39-invitation{width:calc(100% - 28px)!important;margin:14px auto 0!important;grid-template-columns:54px 1fr!important;padding:16px!important;border-radius:16px!important}
  body.tt-v24 .aj39-next,body.tt-v24 .aj39-past{padding:42px 0 54px!important}
  body.tt-v24 .aj39-next__grid{grid-template-columns:1fr!important;gap:16px!important}
  body.tt-v24 .aj39-next-card{grid-template-columns:1fr!important;min-height:0!important;border-radius:18px!important}
  body.tt-v24 .aj39-next-card__image{min-height:230px!important}
  body.tt-v24 .aj39-next-card__body{padding:20px!important}
  body.tt-v24 .aj39-past-story{grid-template-columns:1fr!important;gap:14px!important;padding:18px 0!important}
  body.tt-v24 .aj39-past-story__rail{display:none!important}
  body.tt-v24 .aj39-past-story__image{min-height:210px!important;border-radius:16px!important}

  body.tt-v24 .av38-intro{padding:104px 0 38px!important}
  body.tt-v24 .av38-intro h1{font-size:clamp(35px,10vw,43px)!important}
  body.tt-v24 .av38-featured,body.tt-v24 .av38-past,body.tt-v24 .av38-archive{padding:40px 0 54px!important}
  body.tt-v24 .av38-featured__card{grid-template-columns:1fr!important;border-radius:18px!important;overflow:hidden!important}
  body.tt-v24 .av38-featured__image{min-height:240px!important}
  body.tt-v24 .av38-featured__panel{padding:22px 18px!important}
  body.tt-v24 .av38-story,body.tt-v24 .av38-story.is-reverse{grid-template-columns:1fr!important;gap:18px!important}
  body.tt-v24 .av38-story__image{order:0!important;min-height:220px!important;border-radius:16px!important}
  body.tt-v24 .av38-story__copy{order:1!important;padding:0!important}
  body.tt-v24 .av38-years{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;gap:8px!important;scrollbar-width:none}
  body.tt-v24 .av38-years::-webkit-scrollbar{display:none}

  /* ===== Gallery / album ===== */
  body.tt-v24 .v33-gallery-toolbar{display:block!important}
  body.tt-v24 .v33-album-filter{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:7px!important;scrollbar-width:none}
  body.tt-v24 .v33-album-filter::-webkit-scrollbar{display:none}
  body.tt-v24 .v33-album-filter button{flex:0 0 auto!important;min-height:40px!important}
  body.tt-v24 .v33-album-grid{grid-template-columns:1fr!important;gap:16px!important}
  body.tt-v24 .v33-album-card,body.tt-v24 .v33-album-card.is-featured{grid-column:auto!important;grid-template-columns:1fr!important;border-radius:18px!important;overflow:hidden!important}
  body.tt-v24 .v33-album-card__media{min-height:230px!important}
  body.tt-v24 .v33-album-card__copy{padding:20px 18px!important}
  body.tt-v24 .v33-album-story{grid-template-columns:1fr!important;gap:20px!important}
  body.tt-v24 .v33-gallery-head{display:block!important}
  body.tt-v24 .v33-gallery-head>*+*{margin-top:8px!important}
  body.tt-v24 .v33-photo-grid{display:grid!important;grid-template-columns:1fr 1fr!important;grid-auto-rows:auto!important;gap:8px!important}
  body.tt-v24 .v33-photo-card{grid-column:auto!important;grid-row:auto!important;aspect-ratio:1/1!important;border-radius:12px!important}
  body.tt-v24 .v33-lightbox{padding:10px!important}
  body.tt-v24 .v33-lightbox figure,body.tt-v24 .gallery-lightbox figure{width:min(94vw,900px)!important;max-height:82dvh!important;margin:auto!important}
  body.tt-v24 .v33-lightbox img,body.tt-v24 .gallery-lightbox img{max-height:76dvh!important;object-fit:contain!important}
  body.tt-v24 .lightbox-close{top:max(12px,env(safe-area-inset-top))!important;right:12px!important;width:44px!important;height:44px!important}
  body.tt-v24 .lightbox-nav{width:42px!important;height:54px!important}
  body.tt-v24 .lightbox-nav.prev{left:5px!important}.lightbox-nav.next{right:5px!important}

  /* ===== Residents ===== */
  body.tt-v24 .rv43-hero{padding:104px 0 44px!important}
  body.tt-v24 .rv43-hero__grid{grid-template-columns:1fr!important;gap:26px!important}
  body.tt-v24 .rv43-hero__copy h1{font-size:clamp(35px,10vw,43px)!important;line-height:1.06!important}
  body.tt-v24 .rv43-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  body.tt-v24 .rv43-button{width:100%!important;justify-content:center!important;min-height:48px!important}
  body.tt-v24 .rv43-trust{grid-template-columns:1fr!important;gap:8px!important}
  body.tt-v24 .rv43-hero__visual{min-height:260px!important;border-radius:18px!important}
  body.tt-v24 .rv43-services,body.tt-v24 .rv43-story,body.tt-v24 .rv43-cta{padding:42px 0 54px!important}
  body.tt-v24 .rv43-section-head{display:block!important}
  body.tt-v24 .rv43-service-grid{grid-template-columns:1fr!important;gap:12px!important}
  body.tt-v24 .rv43-service-card{padding:20px 18px!important;border-radius:16px!important}
  body.tt-v24 .rv43-cta__inner{display:block!important;padding:24px 20px!important;border-radius:18px!important}

  /* ===== Resident account portal ===== */
  body.tt-v24 .resident-dashboard-v40,body.tt-v24 .resident-portal-v40{padding:94px 10px 40px!important}
  body.tt-v24 .resident-portal-v40__wrap,body.tt-v24 .resident-dashboard-v40__wrap{width:100%!important;max-width:none!important}
  body.tt-v24 .resident-welcome-v40{align-items:flex-start!important;gap:12px!important;margin-bottom:18px!important}
  body.tt-v24 .resident-welcome-v40__identity{gap:12px!important;min-width:0!important}
  body.tt-v24 .resident-avatar-v40{width:54px!important;height:54px!important;flex:0 0 54px!important;border-radius:17px!important}
  body.tt-v24 .resident-welcome-v40 h1{font-size:28px!important;line-height:1.08!important}
  body.tt-v24 .resident-welcome-v40__actions{display:none!important}
  body.tt-v24 .resident-meta-v40{gap:6px!important;flex-wrap:wrap!important;font-size:11.5px!important}
  body.tt-v24 .resident-portal-v40__layout{grid-template-columns:1fr!important;gap:10px!important}
  body.tt-v24 .resident-sidebar-v40{position:relative!important;top:auto!important;min-height:0!important;padding:9px!important;border-radius:16px!important}
  body.tt-v24 .resident-sidebar-v40__brand,body.tt-v24 .resident-sidebar-v40__support{display:none!important}
  body.tt-v24 .resident-sidebar-v40 nav{display:flex!important;gap:7px!important;overflow-x:auto!important;padding:0!important;scroll-snap-type:x proximity;scrollbar-width:none}
  body.tt-v24 .resident-sidebar-v40 nav::-webkit-scrollbar{display:none}
  body.tt-v24 .resident-sidebar-v40 nav a{flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;gap:7px!important;min-height:43px!important;padding:9px 12px!important;border-radius:11px!important;font-size:12.5px!important;line-height:1.2!important;scroll-snap-align:start}
  body.tt-v24 .resident-sidebar-v40 nav a .resident-nav-icon-v40{font-size:15px!important}
  body.tt-v24 .resident-main-v40{padding:16px!important;border-radius:18px!important;min-width:0!important}
  body.tt-v24 .resident-section-head-v40{display:block!important;margin-bottom:16px!important}
  body.tt-v24 .resident-section-head-v40 h2{font-size:27px!important;line-height:1.1!important}
  body.tt-v24 .resident-shortcuts-v40{grid-template-columns:1fr 1fr!important;gap:8px!important}
  body.tt-v24 .resident-shortcut-v40{min-height:118px!important;padding:15px!important;border-radius:15px!important}
  body.tt-v24 .resident-shortcut-v40 small{font-size:10.5px!important}
  body.tt-v24 .resident-shortcut-v40 strong{font-size:15px!important;line-height:1.3!important}
  body.tt-v24 .resident-panel-v40,body.tt-v24 .resident-profile-v40{border-radius:17px!important;padding:17px!important}
  body.tt-v24 .resident-panel-v40__head{display:block!important}
  body.tt-v24 .resident-panel-v40__head h3{font-size:21px!important}
  body.tt-v24 .resident-form-v40,body.tt-v24 .resident-feedback-v40,body.tt-v24 .resident-feedback-form-v40{grid-template-columns:1fr!important}
  body.tt-v24 .resident-feedback-v40__intro,body.tt-v24 .resident-feedback-form-v40{padding:18px!important}
  body.tt-v24 .resident-feedback-form-v40__message,body.tt-v24 .resident-feedback-form-v40 button{grid-column:auto!important}
  body.tt-v24 .resident-feedback-form-v40 button{width:100%!important;justify-self:stretch!important}

  /* ===== Community fund ===== */
  body.tt-v24 .resident-fund{padding:96px 0 46px!important;font-size:16px!important}
  body.tt-v24 .resident-fund__wrap{width:calc(100% - 22px)!important;max-width:none!important}
  body.tt-v24 .resident-fund__hero{padding:26px 20px 28px!important;border-radius:19px!important}
  body.tt-v24 .resident-fund__hero::after{width:210px!important;height:210px!important;right:-100px!important;top:-95px!important;border-width:45px!important}
  body.tt-v24 .resident-fund__eyebrow{font-size:11px!important;line-height:1.4!important;letter-spacing:.1em!important}
  body.tt-v24 .resident-fund__hero h1{font-size:clamp(31px,9vw,39px)!important;line-height:1.08!important;margin-bottom:12px!important}
  body.tt-v24 .resident-fund__hero p{font-size:14.5px!important;line-height:1.65!important}
  body.tt-v24 .resident-fund__account{position:static!important;text-align:left!important;margin-top:18px!important}
  body.tt-v24 .resident-fund-nav{margin:-11px 8px 22px!important;padding:6px!important;display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;scroll-snap-type:x proximity;scrollbar-width:none;border-radius:14px!important}
  body.tt-v24 .resident-fund-nav::-webkit-scrollbar{display:none}
  body.tt-v24 .resident-fund-nav a{flex:0 0 auto!important;white-space:nowrap!important;min-height:42px!important;display:inline-flex!important;align-items:center!important;padding:9px 12px!important;font-size:12.5px!important;scroll-snap-align:start}
  body.tt-v24 .resident-fund__stats{grid-template-columns:1fr 1fr!important;gap:9px!important;margin:18px 0!important}
  body.tt-v24 .resident-fund__stats>:last-child:nth-child(odd){grid-column:1/-1!important}
  body.tt-v24 .resident-fund-stat{padding:17px 14px!important;border-radius:15px!important;min-width:0!important}
  body.tt-v24 .resident-fund-stat small{font-size:10.5px!important;line-height:1.35!important;letter-spacing:.035em!important}
  body.tt-v24 .resident-fund-stat strong{font-size:22px!important;line-height:1.2!important;margin-top:7px!important;overflow-wrap:anywhere!important}
  body.tt-v24 .resident-fund-grid{grid-template-columns:1fr!important;gap:0!important}
  body.tt-v24 .resident-fund-card{border-radius:17px!important;margin-bottom:14px!important}
  body.tt-v24 .resident-fund-card__head{display:block!important;padding:18px 16px 14px!important}
  body.tt-v24 .resident-fund-card__head h2,body.tt-v24 .resident-fund-card__head h3{font-size:22px!important;line-height:1.2!important}
  body.tt-v24 .resident-fund-card__head p{font-size:13.5px!important;line-height:1.6!important}
  body.tt-v24 .resident-fund-card__body{padding:17px 16px!important}
  body.tt-v24 .resident-fund-project{border-radius:15px!important}
  body.tt-v24 .resident-fund-project__body{padding:16px!important}
  body.tt-v24 .resident-fund-project h3{font-size:20px!important}
  body.tt-v24 .resident-fund-project p{font-size:13.5px!important}
  body.tt-v24 .resident-fund-report{padding:14px 0!important}
  body.tt-v24 .resident-fund-report strong{font-size:14.5px!important;line-height:1.4!important}
  body.tt-v24 .resident-fund-report small{font-size:12px!important}

  body.tt-v24 .resident-fund-toolbar,body.tt-v24 .resident-fund-ledger-toolbar-v4919{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;width:100%!important}
  body.tt-v24 .resident-fund-ledger-field-v4919,body.tt-v24 .resident-fund-toolbar>div{min-width:0!important}
  body.tt-v24 .resident-fund-ledger-field-v4919.is-search{grid-column:1/-1!important}
  body.tt-v24 .resident-fund-ledger-field-v4919 input,body.tt-v24 .resident-fund-ledger-field-v4919 select{width:100%!important;min-width:0!important}
  body.tt-v24 .resident-fund-ledger-actions-v4919{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important}
  body.tt-v24 .resident-fund-ledger-actions-v4919>*{width:100%!important;min-height:44px!important;justify-content:center!important;text-align:center!important}

  /* Mobile ledger cards: Blade adds data-label to current fund tables. */
  body.tt-v24 .resident-fund-table[data-mobile-cards="true"]{min-width:0!important;width:100%!important;border-collapse:separate!important;border-spacing:0 10px!important}
  body.tt-v24 .resident-fund-table[data-mobile-cards="true"] thead{display:none!important}
  body.tt-v24 .resident-fund-table[data-mobile-cards="true"] tbody,body.tt-v24 .resident-fund-table[data-mobile-cards="true"] tfoot{display:block!important;width:100%!important}
  body.tt-v24 .resident-fund-table[data-mobile-cards="true"] tbody tr{display:block!important;margin:0 10px 12px!important;border:1px solid #dfe7e8!important;border-radius:14px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 8px 20px rgba(14,46,64,.05)!important}
  body.tt-v24 .resident-fund-table[data-mobile-cards="true"] tbody td{display:grid!important;grid-template-columns:minmax(88px,31%) minmax(0,1fr)!important;gap:12px!important;align-items:start!important;width:100%!important;padding:11px 13px!important;border:0!important;border-bottom:1px solid #edf1f1!important;background:#fff!important;font-size:13.5px!important;line-height:1.5!important;min-width:0!important}
  body.tt-v24 .resident-fund-table[data-mobile-cards="true"] tbody td:last-child{border-bottom:0!important}
  body.tt-v24 .resident-fund-table[data-mobile-cards="true"] tbody td[data-label]::before{content:attr(data-label);display:block;color:#71848c;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;line-height:1.4}
  body.tt-v24 .resident-fund-table[data-mobile-cards="true"] tbody td strong{font-size:14.5px!important;line-height:1.35!important}
  body.tt-v24 .resident-fund-table[data-mobile-cards="true"] tbody td .resident-fund-pill{font-size:10.5px!important;margin-top:5px!important}
  body.tt-v24 .resident-fund-table[data-mobile-cards="true"] tbody td.resident-fund-money{font-size:16px!important;text-align:left!important}
  body.tt-v24 .resident-fund-table[data-mobile-cards="true"] tbody .resident-fund-empty{display:block!important;padding:22px 14px!important;text-align:center!important}
  body.tt-v24 .resident-fund-table[data-mobile-cards="true"] tbody .resident-fund-empty::before{display:none!important}
  body.tt-v24 .resident-fund-table[data-mobile-cards="true"] tfoot tr{display:grid!important;grid-template-columns:1fr!important;margin:0 10px 12px!important;border-radius:13px!important;overflow:hidden!important;background:#f2f6f6!important;border:1px solid #dbe5e6!important}
  body.tt-v24 .resident-fund-table[data-mobile-cards="true"] tfoot td{display:block!important;width:100%!important;padding:12px 14px!important;border:0!important;text-align:left!important;font-size:13px!important}
  body.tt-v24 .resident-fund-table[data-mobile-cards="true"] tfoot td:last-child{font-size:17px!important;padding-top:0!important;text-align:left!important}
  body.tt-v24 .resident-fund-table-wrap{overflow:visible!important}

  body.tt-v24 .resident-fund-statement-actions-v4821{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  body.tt-v24 .resident-fund-export-v4821{width:100%!important;min-height:44px!important;padding:0 11px!important;font-size:12.5px!important}
  body.tt-v24 .resident-fund-statement-summary-v4821{grid-template-columns:1fr 1fr!important;gap:9px!important}
  body.tt-v24 .resident-fund-statement-summary-v4821>:last-child:nth-child(odd){grid-column:1/-1!important}
  body.tt-v24 .resident-fund-statement-head-v4821{padding:15px 14px!important;gap:8px!important;align-items:flex-start!important;flex-direction:column!important}
  body.tt-v24 .resident-fund-statement-head-v4821 h2{font-size:20px!important}
  body.tt-v24 .resident-fund-net-v4821{margin:14px 0!important;padding:17px!important;border-radius:15px!important;align-items:flex-start!important;flex-direction:column!important;gap:7px!important}
  body.tt-v24 .resident-fund-net-v4821 strong{font-size:21px!important;white-space:normal!important;overflow-wrap:anywhere!important}
  body.tt-v24 .resident-fund-report-item-v4821{grid-template-columns:1fr!important;padding:15px!important;gap:13px!important;border-radius:15px!important}
  body.tt-v24 .resident-fund-report-main-v4821 strong{font-size:18px!important}
  body.tt-v24 .resident-fund-report-actions-v4821{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;gap:8px!important}
  body.tt-v24 .resident-fund-report-actions-v4821 .is-detail{grid-column:1/-1!important}

  /* Evidence/image/PDF viewer inside user pages. */
  body.tt-v24 .resident-evidence-modal,body.tt-v24 .fund-evidence-modal,body.tt-v24 [class*="evidence-modal"]{padding:10px!important}
  body.tt-v24 .resident-evidence-modal__dialog,body.tt-v24 .fund-evidence-modal__dialog,body.tt-v24 [class*="evidence-modal"] [class*="dialog"]{width:min(96vw,900px)!important;max-height:92dvh!important;border-radius:16px!important}
  body.tt-v24 [class*="evidence-modal"] iframe{width:100%!important;height:72dvh!important;min-height:380px!important}
  body.tt-v24 [class*="evidence-modal"] img{max-height:78dvh!important;object-fit:contain!important}

  /* ===== Footer ===== */
  body.tt-v24 footer .footer-inner{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;align-items:start!important;padding:24px 14px max(24px,env(safe-area-inset-bottom))!important;min-height:0!important}
  body.tt-v24 footer .brand{justify-self:start!important}
  body.tt-v24 .footer-meta-v34{width:100%!important;max-width:none!important;align-items:flex-start!important;text-align:left!important;gap:6px!important}
  body.tt-v24 .footer-note{font-size:12.5px!important;line-height:1.6!important}
  body.tt-v24 .footer-meta-v34 small{font-size:11.5px!important;line-height:1.55!important;justify-content:flex-start!important;flex-wrap:wrap!important}

  /* Flash messages should never hide beneath the fixed header. */
  body.tt-v24 .community-flash{left:12px!important;right:12px!important;width:auto!important;max-width:none!important}
  body.inner-site.tt-v24 .community-inner-flash{margin:84px 12px -54px!important;padding:13px 14px!important;font-size:13px!important}
}

@media(max-width:520px){
  :root{--tt-mobile-edge:11px}
  body.tt-v24 .container{width:calc(100% - 22px)!important}
  body.tt-v24 .brand img{width:36px!important;height:36px!important;flex-basis:36px}
  body.tt-v24 .brand-text strong{font-size:14px!important}
  body.tt-v24 .brand-text small{font-size:8px!important}

  body.tt-home .hero-v31-title{font-size:clamp(32px,10.5vw,39px)!important}
  body.tt-home .hero-v30-actions{grid-template-columns:1fr!important}
  body.tt-home .hero-v30-quick-item{flex-basis:82vw!important}

  body.tt-v24 .resident-shortcuts-v40{grid-template-columns:1fr!important}
  body.tt-v24 .resident-shortcut-v40{min-height:98px!important}

  body.tt-v24 .resident-fund__stats{grid-template-columns:1fr!important}
  body.tt-v24 .resident-fund__stats>:last-child:nth-child(odd){grid-column:auto!important}
  body.tt-v24 .resident-fund-stat strong{font-size:24px!important}
  body.tt-v24 .resident-fund-toolbar,body.tt-v24 .resident-fund-ledger-toolbar-v4919{grid-template-columns:1fr!important}
  body.tt-v24 .resident-fund-ledger-field-v4919.is-search{grid-column:auto!important}
  body.tt-v24 .resident-fund-ledger-actions-v4919{grid-column:auto!important;grid-template-columns:1fr 1fr!important}
  body.tt-v24 .resident-fund-statement-summary-v4821{grid-template-columns:1fr!important}
  body.tt-v24 .resident-fund-statement-summary-v4821>:last-child:nth-child(odd){grid-column:auto!important}

  body.tt-v24 .v33-photo-grid{grid-template-columns:1fr!important}
  body.tt-v24 .v33-photo-card{aspect-ratio:4/3!important}
}

@media(max-width:390px){
  body.tt-v24 .brand-text small{display:none!important}
  body.tt-v24 .brand-text strong{font-size:13.5px!important}
  body.tt-v24 .resident-sidebar-v40 nav a{font-size:12px!important;padding:9px 10px!important}
  body.tt-v24 .resident-fund-ledger-actions-v4919{grid-template-columns:1fr!important}
  body.tt-v24 .resident-fund-statement-actions-v4821,body.tt-v24 .resident-fund-report-actions-v4821{grid-template-columns:1fr!important}
  body.tt-v24 .resident-fund-report-actions-v4821 .is-detail{grid-column:auto!important}
  body.tt-v24 .resident-fund-table[data-mobile-cards="true"] tbody td{grid-template-columns:82px minmax(0,1fr)!important;padding:10px 11px!important;gap:9px!important}
}

@media(prefers-reduced-motion:reduce){
  body.tt-v24 *{scroll-behavior:auto!important}
  body.tt-v24 .hero-v30-quick-row,body.tt-v24 .resident-sidebar-v40 nav,body.tt-v24 .resident-fund-nav{scroll-snap-type:none!important}
}

/* ========================================================================== */
/* V48.31 — Resident account mobile definitive polish                          */
/* Fixes selectors that did not match the real V40 account markup.            */
/* ========================================================================== */
@media (max-width: 900px){
  body.resident-account-page.tt-v24{
    overflow-x:hidden!important;
    background:#eef3f1!important;
  }
  body.resident-account-page.tt-v24 .resident-portal-v40{
    padding:88px 12px 42px!important;
    min-height:100dvh!important;
  }
  body.resident-account-page.tt-v24 .resident-portal-v40__container{
    width:100%!important;
    max-width:none!important;
    margin:0 auto!important;
  }
  body.resident-account-page.tt-v24 .resident-welcome-v40{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:14px!important;
    margin:0 0 12px!important;
    padding:14px!important;
    border:1px solid #dce6e5!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.92)!important;
    box-shadow:0 10px 28px rgba(14,48,61,.06)!important;
  }
  body.resident-account-page.tt-v24 .resident-welcome-v40__identity{
    width:100%!important;
    min-width:0!important;
    align-items:center!important;
    gap:12px!important;
  }
  body.resident-account-page.tt-v24 .resident-avatar-v40{
    width:52px!important;
    height:52px!important;
    flex:0 0 52px!important;
    border-radius:15px!important;
    font-size:17px!important;
  }
  body.resident-account-page.tt-v24 .resident-eyebrow-v40{
    margin-bottom:3px!important;
    font-size:10.5px!important;
    letter-spacing:.065em!important;
  }
  body.resident-account-page.tt-v24 .resident-welcome-v40 h1{
    margin:0!important;
    font-size:clamp(21px,5.7vw,27px)!important;
    line-height:1.13!important;
    overflow-wrap:anywhere!important;
  }
  body.resident-account-page.tt-v24 .resident-meta-v40{
    display:flex!important;
    margin-top:6px!important;
    gap:6px!important;
    font-size:12px!important;
    line-height:1.3!important;
  }
  body.resident-account-page.tt-v24 .resident-meta-v40>span:first-child{
    display:inline-flex!important;
  }
  body.resident-account-page.tt-v24 .resident-verification-v40{
    padding:4px 8px!important;
    font-size:11px!important;
  }
  body.resident-account-page.tt-v24 .resident-welcome-v40__actions{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
  }
  body.resident-account-page.tt-v24 .resident-welcome-v40__actions .resident-button-v40{
    min-height:40px!important;
    padding:8px 11px!important;
    border-radius:10px!important;
    font-size:12px!important;
    white-space:nowrap!important;
  }
  body.resident-account-page.tt-v24 .resident-portal-v40__layout{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  body.resident-account-page.tt-v24 .resident-sidebar-v40{
    position:relative!important;
    top:auto!important;
    min-height:0!important;
    padding:8px!important;
    border-radius:16px!important;
    box-shadow:0 12px 28px rgba(7,34,49,.10)!important;
  }
  body.resident-account-page.tt-v24 .resident-sidebar-v40__brand,
  body.resident-account-page.tt-v24 .resident-sidebar-v40__support{
    display:none!important;
  }
  body.resident-account-page.tt-v24 .resident-sidebar-v40 nav{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    padding:0!important;
    overflow:visible!important;
  }
  body.resident-account-page.tt-v24 .resident-sidebar-v40 nav a{
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    padding:8px 7px!important;
    display:flex!important;
    justify-content:flex-start!important;
    align-items:center!important;
    gap:7px!important;
    border-radius:11px!important;
    white-space:normal!important;
    font-size:11.5px!important;
    line-height:1.2!important;
    text-align:left!important;
  }
  body.resident-account-page.tt-v24 .resident-sidebar-v40 nav a.is-active{
    background:rgba(255,255,255,.15)!important;
    box-shadow:inset 0 -2px 0 #d7bb84!important;
  }
  body.resident-account-page.tt-v24 .resident-nav-icon-v40{
    width:24px!important;
    height:24px!important;
    flex:0 0 24px!important;
    border-radius:7px!important;
    font-size:13px!important;
  }
  body.resident-account-page.tt-v24 .resident-main-v40{
    min-width:0!important;
    min-height:0!important;
    padding:18px!important;
    border-radius:18px!important;
    box-shadow:0 12px 32px rgba(17,51,63,.055)!important;
  }
  body.resident-account-page.tt-v24 .resident-page-head-v40{
    display:block!important;
    margin:0 0 16px!important;
    padding:0 0 16px!important;
  }
  body.resident-account-page.tt-v24 .resident-page-head-v40>div>span{
    margin-bottom:5px!important;
    font-size:10.5px!important;
  }
  body.resident-account-page.tt-v24 .resident-page-head-v40 h2{
    font-size:clamp(24px,6.7vw,30px)!important;
    line-height:1.13!important;
  }
  body.resident-account-page.tt-v24 .resident-page-head-v40 p{
    margin-top:7px!important;
    font-size:14px!important;
    line-height:1.55!important;
  }
  body.resident-account-page.tt-v24 .resident-page-head-v40 time{
    display:none!important;
  }
  body.resident-account-page.tt-v24 .resident-page-head-v40>a{
    width:100%!important;
    min-height:43px!important;
    margin-top:12px!important;
  }
  body.resident-account-page.tt-v24 .resident-shortcuts-v40{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
    margin-bottom:12px!important;
  }
  body.resident-account-page.tt-v24 .resident-shortcut-v40{
    min-width:0!important;
    min-height:108px!important;
    padding:14px!important;
    border-radius:14px!important;
  }
  body.resident-account-page.tt-v24 .resident-shortcut-v40 small{
    font-size:11px!important;
    line-height:1.25!important;
  }
  body.resident-account-page.tt-v24 .resident-shortcut-v40 strong{
    margin:6px 0 10px!important;
    font-size:15px!important;
    line-height:1.25!important;
    overflow-wrap:anywhere!important;
  }
  body.resident-account-page.tt-v24 .resident-shortcut-v40 span{
    font-size:11.5px!important;
    line-height:1.25!important;
  }
  body.resident-account-page.tt-v24 .resident-overview-grid-v40{
    grid-template-columns:1fr!important;
    gap:11px!important;
  }
  body.resident-account-page.tt-v24 .resident-card-v40,
  body.resident-account-page.tt-v24 .resident-panel-v40,
  body.resident-account-page.tt-v24 .resident-profile-v40{
    min-width:0!important;
    border-radius:15px!important;
  }
  body.resident-account-page.tt-v24 .resident-card-v40--notices,
  body.resident-account-page.tt-v24 .resident-card-v40--identity,
  body.resident-account-page.tt-v24 .resident-form-card-v40,
  body.resident-account-page.tt-v24 .resident-notices-page-v40{
    padding:16px!important;
  }
  body.resident-account-page.tt-v24 .resident-card-v40__head{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    margin-bottom:12px!important;
  }
  body.resident-account-page.tt-v24 .resident-card-v40__head h3{
    font-size:19px!important;
  }
  body.resident-account-page.tt-v24 .resident-card-v40__head a{
    padding-top:0!important;
    font-size:11.5px!important;
  }
  body.resident-account-page.tt-v24 .resident-notice-v40{
    min-width:0!important;
    grid-template-columns:46px minmax(0,1fr) 18px!important;
    gap:9px!important;
    padding:12px 0!important;
  }
  body.resident-account-page.tt-v24 .resident-notice-v40 time{
    font-size:14px!important;
  }
  body.resident-account-page.tt-v24 .resident-notice-v40>span strong{
    font-size:14px!important;
    line-height:1.35!important;
  }
  body.resident-account-page.tt-v24 .resident-notice-v40>span small{
    font-size:12px!important;
    line-height:1.45!important;
  }
  body.resident-account-page.tt-v24 .resident-form-v40,
  body.resident-account-page.tt-v24 .resident-feedback-v40,
  body.resident-account-page.tt-v24 .resident-feedback-form-v40{
    grid-template-columns:1fr!important;
    gap:13px!important;
  }
  body.resident-account-page.tt-v24 .resident-form-v40 label,
  body.resident-account-page.tt-v24 .resident-feedback-form-v40 label{
    min-width:0!important;
  }
  body.resident-account-page.tt-v24 .resident-form-v40 input,
  body.resident-account-page.tt-v24 .resident-form-v40 select,
  body.resident-account-page.tt-v24 .resident-feedback-form-v40 input,
  body.resident-account-page.tt-v24 .resident-feedback-form-v40 select,
  body.resident-account-page.tt-v24 .resident-feedback-form-v40 textarea{
    width:100%!important;
    max-width:100%!important;
    min-height:46px!important;
    font-size:16px!important;
  }
  body.resident-account-page.tt-v24 .resident-feedback-v40__intro,
  body.resident-account-page.tt-v24 .resident-feedback-form-v40{
    padding:17px!important;
  }
  body.resident-account-page.tt-v24 .resident-feedback-v40__intro h3{
    font-size:22px!important;
    line-height:1.22!important;
  }
}

@media (max-width: 640px){
  body.resident-account-page.tt-v24 .resident-portal-v40{
    padding:80px 8px 30px!important;
  }
  body.resident-account-page.tt-v24 .resident-welcome-v40{
    grid-template-columns:1fr!important;
    padding:13px!important;
    border-radius:16px!important;
  }
  body.resident-account-page.tt-v24 .resident-welcome-v40__actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    gap:7px!important;
  }
  body.resident-account-page.tt-v24 .resident-welcome-v40__actions form{
    width:100%!important;
  }
  body.resident-account-page.tt-v24 .resident-welcome-v40__actions .resident-button-v40{
    width:100%!important;
    min-height:42px!important;
    font-size:12.5px!important;
  }
  body.resident-account-page.tt-v24 .resident-sidebar-v40 nav{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.resident-account-page.tt-v24 .resident-sidebar-v40 nav a{
    min-height:46px!important;
    font-size:12px!important;
  }
  body.resident-account-page.tt-v24 .resident-main-v40{
    padding:15px!important;
    border-radius:16px!important;
  }
  body.resident-account-page.tt-v24 .resident-shortcuts-v40{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  body.resident-account-page.tt-v24 .resident-shortcut-v40{
    min-height:0!important;
    padding:13px 14px!important;
  }
  body.resident-account-page.tt-v24 .resident-shortcut-v40 strong{
    margin:5px 0 7px!important;
    font-size:16px!important;
  }
  body.resident-account-page.tt-v24 .resident-card-v40__head{
    align-items:flex-start!important;
  }
}

@media (max-width: 390px){
  body.resident-account-page.tt-v24 .resident-avatar-v40{
    width:46px!important;
    height:46px!important;
    flex-basis:46px!important;
    border-radius:13px!important;
  }
  body.resident-account-page.tt-v24 .resident-welcome-v40 h1{
    font-size:21px!important;
  }
  body.resident-account-page.tt-v24 .resident-meta-v40{
    font-size:11.5px!important;
  }
  body.resident-account-page.tt-v24 .resident-sidebar-v40 nav a{
    padding:8px 6px!important;
    font-size:11.5px!important;
  }
  body.resident-account-page.tt-v24 .resident-page-head-v40 h2{
    font-size:23px!important;
  }
  body.resident-account-page.tt-v24 .resident-notice-v40{
    grid-template-columns:42px minmax(0,1fr) 14px!important;
  }
}

/* Public resident landing page: compact, balanced mobile composition. */
@media (max-width: 700px){
  body.tt-residents-v43.tt-v24 .rv43-hero{
    padding:84px 0 34px!important;
  }
  body.tt-residents-v43.tt-v24 .rv43-hero__grid{
    gap:18px!important;
  }
  body.tt-residents-v43.tt-v24 .rv43-hero__copy h1{
    font-size:clamp(32px,9vw,39px)!important;
    line-height:1.08!important;
  }
  body.tt-residents-v43.tt-v24 .rv43-hero__copy p{
    font-size:14px!important;
    line-height:1.62!important;
  }
  body.tt-residents-v43.tt-v24 .rv43-trust{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
  }
  body.tt-residents-v43.tt-v24 .rv43-trust span{
    min-width:0!important;
    padding:10px 7px!important;
    text-align:center!important;
  }
  body.tt-residents-v43.tt-v24 .rv43-trust b{
    font-size:16px!important;
  }
  body.tt-residents-v43.tt-v24 .rv43-hero__visual{
    min-height:220px!important;
  }
  body.tt-residents-v43.tt-v24 .rv43-section-head h2{
    font-size:29px!important;
    line-height:1.12!important;
  }
  body.tt-residents-v43.tt-v24 .rv43-service-card{
    min-height:0!important;
    padding:17px!important;
  }
  body.tt-residents-v43.tt-v24 .rv43-service-card h3{
    font-size:20px!important;
  }
  body.tt-residents-v43.tt-v24 .rv43-service-card p{
    font-size:13.5px!important;
    line-height:1.55!important;
  }
  body.tt-residents-v43.tt-v24 .rv43-cta__inner{
    padding:20px 17px!important;
  }
  body.tt-residents-v43.tt-v24 .rv43-cta__inner h2{
    font-size:27px!important;
    line-height:1.15!important;
  }
  body.tt-residents-v43.tt-v24 .rv43-cta__inner>a{
    width:100%!important;
    margin-top:16px!important;
    justify-content:center!important;
  }
}

/* ========================================================================== */
/* V48.32 — MOBILE ONLY FULL RESPONSIVE AUDIT                                 */
/* Scope: <= 991.98px / <= 767.98px. Desktop is intentionally untouched.      */
/* ========================================================================== */

@media (max-width: 991.98px){
  html,body.tt-v24{max-width:100%;overflow-x:hidden!important}
  @supports (overflow:clip){html,body.tt-v24{overflow-x:clip!important}}
  body.tt-v24 main,body.tt-v24 section,body.tt-v24 article,body.tt-v24 aside,
  body.tt-v24 .container,body.tt-v24 [class*="__container"],body.tt-v24 [class*="__grid"],
  body.tt-v24 [class*="-grid"],body.tt-v24 [class*="-layout"]{min-width:0!important;max-width:100%}
  body.tt-v24 img,body.tt-v24 video,body.tt-v24 iframe,body.tt-v24 svg{max-width:100%;height:auto}
  body.tt-v24 .table-responsive,body.tt-v24 [class*="table-wrap"]{max-width:100%;overscroll-behavior-x:contain}
}

@media (max-width: 767.98px){
  :root{--tt32-edge:14px;--tt32-header-h:70px}
  html{font-size:16px!important}
  body.tt-v24{font-size:15.5px!important;line-height:1.62!important}
  body.tt-v24 p,body.tt-v24 li,body.tt-v24 label,body.tt-v24 input,body.tt-v24 select,body.tt-v24 textarea,
  body.tt-v24 button,body.tt-v24 a{font-size:max(14px,1em)}
  body.tt-v24 small,body.tt-v24 .small,body.tt-v24 [class*="eyebrow"],body.tt-v24 [class*="kicker"]{font-size:11.5px!important;line-height:1.45!important}

  /* Full-width mobile header: logo left, menu button right. */
  body.tt-v24 .site-header,body.tt-v24 .inner-header{
    position:fixed!important;top:0!important;left:0!important;right:0!important;
    width:100%!important;padding:max(env(safe-area-inset-top),0px) 0 0!important;
    z-index:1200!important;
  }
  body.tt-v24 .header-shell,body.tt-v24 .inner-header-shell{
    width:100%!important;max-width:none!important;min-height:var(--tt32-header-h)!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;
    gap:12px!important;margin:0!important;padding:10px 14px!important;border-radius:0!important;
    background:rgba(6,31,44,.97)!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 10px 28px rgba(4,25,36,.14)!important;backdrop-filter:blur(16px)!important;
  }
  body.tt-v24 .brand{display:flex!important;align-items:center!important;justify-self:start!important;min-width:0!important;max-width:calc(100vw - 82px)!important;gap:10px!important}
  body.tt-v24 .brand img{width:43px!important;height:43px!important;flex:0 0 43px!important;object-fit:contain!important}
  body.tt-v24 .brand-text{min-width:0!important}
  body.tt-v24 .brand-text strong{font-size:15px!important;line-height:1.05!important;letter-spacing:.035em!important;white-space:nowrap!important}
  body.tt-v24 .brand-text small{display:block!important;font-size:10px!important;line-height:1.2!important;letter-spacing:.09em!important;white-space:nowrap!important;opacity:.78!important}
  body.tt-v24 .desktop-nav,body.tt-v24 .lang-desktop,body.tt-v24 .login-desktop,body.tt-v24 .register-desktop,body.tt-v24 .auth-user-chip{display:none!important}
  body.tt-v24 .header-actions{justify-self:end!important;display:flex!important;align-items:center!important;margin:0!important;padding:0!important;gap:0!important}
  body.tt-v24 .menu-toggle{display:grid!important;width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;margin:0!important;border-radius:13px!important;border:1px solid rgba(255,255,255,.18)!important;background:rgba(255,255,255,.08)!important;place-items:center!important}

  /* Full-screen navigation on every frontend page. */
  body.tt-v24 .mobile-menu{
    position:fixed!important;z-index:1150!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;
    width:100vw!important;height:100dvh!important;max-height:none!important;margin:0!important;
    padding:calc(var(--tt32-header-h) + env(safe-area-inset-top) + 18px) 16px max(20px,env(safe-area-inset-bottom))!important;
    border:0!important;border-radius:0!important;background:linear-gradient(180deg,#071f31 0%,#0b3242 100%)!important;
    box-shadow:none!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;
    transform:translateY(-8px)!important;
  }
  body.tt-v24 .mobile-menu.open{transform:translateY(0)!important}
  body.tt-v24.menu-open{overflow:hidden!important;touch-action:none}
  body.tt-v24 .mobile-menu>a{
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    width:100%!important;min-height:54px!important;margin:0!important;padding:14px 4px!important;
    border-radius:0!important;border-bottom:1px solid rgba(255,255,255,.10)!important;
    color:#fff!important;font-size:17px!important;font-weight:650!important;letter-spacing:.005em!important;
  }
  body.tt-v24 .mobile-menu>a::after{content:"→";font-size:18px;font-weight:400;opacity:.52;margin-left:16px}
  body.tt-v24 .mobile-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;width:100%!important;margin:18px 0 0!important;padding:0!important}
  body.tt-v24 .mobile-actions form{width:100%!important;margin:0!important}
  body.tt-v24 .mobile-actions .mobile-btn,body.tt-v24 .mobile-actions form button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:50px!important;padding:11px 12px!important;font-size:14px!important;border-radius:12px!important;white-space:normal!important;text-align:center!important}
  body.tt-v24 .mobile-lang{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;margin-top:16px!important;padding:14px 0 0!important;border-top:1px solid rgba(255,255,255,.10)!important}
  body.tt-v24 .mobile-lang a,body.tt-v24 .mobile-lang button{min-width:52px!important;min-height:42px!important;font-size:13px!important;border-radius:10px!important}

  /* Shared page sizing / no accidental page-level horizontal scroll. */
  body.tt-v24 .container{width:calc(100% - (var(--tt32-edge) * 2))!important;max-width:none!important;margin-inline:auto!important;padding-left:0!important;padding-right:0!important}
  body.inner-site.tt-v24 .inner-main{padding-top:var(--tt32-header-h)!important;overflow-x:hidden!important}
  body.tt-home main{overflow-x:hidden!important}
  body.tt-v24 [style*="width:"]{max-width:100%}
  body.tt-v24 .row{margin-left:0!important;margin-right:0!important}
  body.tt-v24 .row>[class*="col-"]{min-width:0!important}
  body.tt-v24 .btn,body.tt-v24 button,body.tt-v24 input[type="submit"]{min-height:44px}
  body.tt-v24 input,body.tt-v24 select,body.tt-v24 textarea{width:100%;font-size:16px!important}

  /* Avoid horizontal swipe for content that can be rendered as a grid/list. */
  body.tt-home .hero-v30-quick-row{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;overflow:visible!important;scroll-snap-type:none!important;padding-bottom:0!important}
  body.tt-home .hero-v30-quick-item{width:100%!important;max-width:none!important;flex:none!important}
  body.tt-home .activity-viewport,body.tt-home .sponsor-viewport,body.tt-home .notice-v255-viewport{overflow:hidden!important;max-width:100%!important}
  body.tt-home .activity-card{flex:0 0 calc(100vw - (var(--tt32-edge) * 2) - 8px)!important;max-width:420px!important}

  /* Generic cards, grids and page heads. */
  body.tt-v24 .page-heading,body.tt-v24 .luxury-news-heading,body.tt-v24 .gallery-page-heading,body.tt-v24 .inner-hero{padding-left:var(--tt32-edge)!important;padding-right:var(--tt32-edge)!important}
  body.tt-v24 .page-heading h1,body.tt-v24 .luxury-news-heading h1,body.tt-v24 .gallery-page-heading h1,body.tt-v24 .inner-hero h1{font-size:clamp(30px,8.7vw,39px)!important;line-height:1.08!important}
  body.tt-v24 .page-heading p,body.tt-v24 .luxury-news-heading p,body.tt-v24 .gallery-page-heading p,body.tt-v24 .inner-hero p{font-size:15px!important;line-height:1.65!important}
  body.tt-v24 [class*="grid"]{column-gap:12px!important;row-gap:12px!important}
  body.tt-v24 [class*="card"]{min-width:0}

  /* News / activities / residents / gallery: one readable column where needed. */
  body.tt-v24 .v33-news-grid,body.tt-v24 .v33-gallery-grid,body.tt-v24 .rv43-grid,body.tt-v24 .av38-grid,
  body.tt-v24 .resident-public-grid,body.tt-v24 .resident-feature-grid{grid-template-columns:1fr!important}
  body.tt-v24 .v33-news-card,body.tt-v24 .v33-gallery-card,body.tt-v24 .av38-card,body.tt-v24 .rv43-card{width:100%!important;max-width:none!important}

  /* Account / fund controls: no horizontal nav or toolbars. */
  body.resident-account-page.tt-v24 .resident-sidebar-v40 nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important}
  body.tt-v24 .resident-fund-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;overflow:visible!important;scroll-snap-type:none!important}
  body.tt-v24 .resident-fund-nav a{width:100%!important;min-width:0!important;min-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:normal!important;font-size:13px!important;padding:9px 8px!important}
  body.tt-v24 .resident-fund-ledger-toolbar-v4919,body.tt-v24 .resident-fund-toolbar{width:100%!important;overflow:visible!important}
  body.tt-v24 .resident-fund-ledger-actions-v4919,body.tt-v24 .resident-fund-statement-actions-v4821,body.tt-v24 .resident-fund-report-actions-v4821{width:100%!important}

  /* Tables: page never scrolls horizontally; only genuine dense tables may scroll locally. */
  body.tt-v24 .table-responsive,body.tt-v24 [class*="table-wrap"]{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  body.tt-v24 table{max-width:100%}
  body.tt-v24 table th,body.tt-v24 table td{overflow-wrap:anywhere;word-break:normal}
  body.tt-v24 .resident-fund-table[data-mobile-cards="true"]{display:block!important;width:100%!important;overflow:visible!important}

  /* Modals / viewers fit within real mobile viewport. */
  body.tt-v24 .modal,body.tt-v24 [class*="modal"]{max-width:100vw}
  body.tt-v24 .modal-dialog,body.tt-v24 [class*="modal__dialog"],body.tt-v24 [class*="modal-dialog"]{max-width:calc(100vw - 20px)!important;margin:10px auto!important}
  body.tt-v24 [class*="evidence-modal"] iframe{height:min(72dvh,680px)!important}

  /* Footer hierarchy. */
  body.tt-v24 footer,body.tt-v24 .site-footer{overflow-x:hidden!important}
  body.tt-v24 footer .footer-inner{width:100%!important;padding-left:var(--tt32-edge)!important;padding-right:var(--tt32-edge)!important}
}

@media (max-width: 390px){
  :root{--tt32-edge:11px;--tt32-header-h:66px}
  body.tt-v24 .header-shell,body.tt-v24 .inner-header-shell{padding:8px 11px!important}
  body.tt-v24 .brand img{width:40px!important;height:40px!important;flex-basis:40px!important}
  body.tt-v24 .brand-text strong{font-size:14px!important}
  body.tt-v24 .brand-text small{display:block!important;font-size:9.5px!important}
  body.tt-v24 .menu-toggle{width:44px!important;height:44px!important;min-width:44px!important}
  body.tt-v24 .mobile-menu>a{font-size:16px!important;min-height:51px!important}
  body.tt-v24 .mobile-actions{grid-template-columns:1fr!important}
  body.tt-v24 .resident-fund-nav{grid-template-columns:1fr 1fr!important}
}

/* =====================================================================
   V48.33 — MOBILE HEADER / NAV / SLIDER POLISH
   Mobile-only visual overrides. Desktop layout remains unchanged.
   ===================================================================== */
.mobile-header-tools{display:none}

@media (max-width:767.98px){
  /* Header: brand left, resident + language + menu controls right. */
  body.tt-v24 .header-shell,
  body.tt-v24 .inner-header-shell{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:7px!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  body.tt-v24 .brand{
    max-width:none!important;
    gap:7px!important;
  }
  body.tt-v24 .brand img{
    width:39px!important;
    height:39px!important;
    flex-basis:39px!important;
  }
  body.tt-v24 .brand-text strong{
    font-size:13px!important;
    letter-spacing:.035em!important;
  }
  body.tt-v24 .brand-text small{display:none!important}

  body.tt-v24 .header-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:6px!important;
    min-width:0!important;
  }
  body.tt-v24 .mobile-header-tools{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:6px!important;
    min-width:0!important;
  }
  body.tt-v24 .mobile-resident-shortcut{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    min-height:40px!important;
    padding:0 8px!important;
    border:1px solid rgba(228,197,140,.38)!important;
    border-radius:12px!important;
    background:rgba(228,197,140,.10)!important;
    color:#f4dcae!important;
    text-decoration:none!important;
    font-size:11.5px!important;
    font-weight:700!important;
    white-space:nowrap!important;
    line-height:1!important;
  }
  body.tt-v24 .mobile-resident-shortcut svg{
    width:16px!important;
    height:16px!important;
    flex:0 0 16px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  body.tt-v24 .mobile-header-lang{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:58px!important;
    min-width:58px!important;
    height:40px!important;
    padding:3px!important;
    border:1px solid rgba(255,255,255,.14)!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.065)!important;
  }
  body.tt-v24 .mobile-header-lang a{
    display:grid!important;
    place-items:center!important;
    min-width:0!important;
    min-height:0!important;
    border:0!important;
    border-radius:9px!important;
    color:rgba(255,255,255,.68)!important;
    font-size:10.5px!important;
    font-weight:800!important;
    line-height:1!important;
    text-decoration:none!important;
    letter-spacing:.02em!important;
  }
  body.tt-v24 .mobile-header-lang a.active{
    background:#e4c58c!important;
    color:#09283a!important;
    box-shadow:0 3px 10px rgba(0,0,0,.14)!important;
  }
  body.tt-v24 .menu-toggle{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    flex:0 0 42px!important;
    border-radius:12px!important;
  }

  /* Language selector now lives in the header, never inside the drawer. */
  body.tt-v24 .mobile-menu .mobile-lang{display:none!important}

  /* Cleaner full-screen list navigation and arrow treatment. */
  body.tt-v24 .mobile-menu>a{
    min-height:56px!important;
    padding:13px 6px!important;
    gap:12px!important;
    font-size:16px!important;
    font-weight:650!important;
  }
  body.tt-v24 .mobile-menu>a::after{
    content:"›"!important;
    display:grid!important;
    place-items:center!important;
    width:30px!important;
    height:30px!important;
    flex:0 0 30px!important;
    margin-left:auto!important;
    border:1px solid rgba(255,255,255,.13)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.065)!important;
    color:#e4c58c!important;
    font-family:Arial,sans-serif!important;
    font-size:23px!important;
    font-weight:400!important;
    line-height:1!important;
    opacity:1!important;
    transform:translateY(-1px)!important;
    transition:background .2s ease,border-color .2s ease,transform .2s ease!important;
  }
  body.tt-v24 .mobile-menu>a:active::after{
    background:rgba(228,197,140,.18)!important;
    border-color:rgba(228,197,140,.42)!important;
    transform:translate(2px,-1px)!important;
  }

  /* Latest notices: balanced, touch-friendly circular arrows. */
  body.tt-home .notice-slider-v48__controls{
    width:100%!important;
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) 42px!important;
    align-items:center!important;
    gap:10px!important;
    margin-top:14px!important;
  }
  body.tt-home .notice-v255-pager,
  body.tt-home #noticeDotsV48{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    min-width:0!important;
  }
  body.tt-home .tt-slider-nav{
    display:grid!important;
    place-items:center!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    padding:0!important;
    border:1px solid rgba(10,52,66,.13)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.96)!important;
    color:#0a3442!important;
    box-shadow:0 7px 20px rgba(4,37,50,.10)!important;
  }
  body.tt-home .tt-slider-nav svg{
    display:block!important;
    width:18px!important;
    height:18px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.9!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  body.tt-home .tt-slider-nav:active{
    transform:scale(.94)!important;
    background:#f8f1e4!important;
  }
  body.tt-home .notice-action-arrow,
  body.tt-home .tt-link-arrow{
    display:inline-grid!important;
    place-items:center!important;
    width:27px!important;
    height:27px!important;
    flex:0 0 27px!important;
    border-radius:999px!important;
    background:rgba(10,52,66,.08)!important;
  }
  body.tt-home .notice-action-arrow svg,
  body.tt-home .tt-link-arrow svg{
    width:14px!important;
    height:14px!important;
  }

  /* All homepage carousels keep vertical page scrolling natural while swiping. */
  body.tt-home #noticeTrackV48,
  body.tt-home #activityTrack,
  body.tt-home #sponsorTrack,
  body.tt-home .hero-slider{
    touch-action:pan-y!important;
    -webkit-user-select:none!important;
    user-select:none!important;
    will-change:transform;
  }
}

@media (max-width:390px){
  body.tt-v24 .header-shell,
  body.tt-v24 .inner-header-shell{padding-left:8px!important;padding-right:8px!important;gap:5px!important}
  body.tt-v24 .header-actions,
  body.tt-v24 .mobile-header-tools{gap:5px!important}
  body.tt-v24 .mobile-resident-shortcut{padding:0 7px!important;font-size:11px!important}
  body.tt-v24 .mobile-header-lang{width:54px!important;min-width:54px!important}
  body.tt-v24 .brand-text strong{font-size:12px!important}
}

@media (max-width:350px){
  body.tt-v24 .brand-text{display:none!important}
  body.tt-v24 .mobile-resident-shortcut span{display:none!important}
  body.tt-v24 .mobile-resident-shortcut{width:40px!important;padding:0!important}
}


/* ================================================================
   V48.37 — MOBILE NOTICE SLIDER CONTROL HOTFIX
   Fix legacy absolute pager + generic button styles leaking into the
   new notice controls. Mobile only; desktop remains untouched.
   ================================================================ */
@media (max-width: 767.98px){
  body.tt-home .notice-slider-v48__controls{
    position:relative!important;
    inset:auto!important;
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) 38px!important;
    align-items:center!important;
    justify-content:stretch!important;
    gap:12px!important;
    width:calc(100% - 32px)!important;
    max-width:none!important;
    min-height:38px!important;
    margin:12px auto 16px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  body.tt-home .notice-slider-v48__controls .notice-v255-pager,
  body.tt-home .notice-slider-v48__controls #noticeDotsV48{
    position:static!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    z-index:auto!important;
    transform:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
    height:38px!important;
    min-height:38px!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  body.tt-home .notice-slider-v48__controls #noticeDotsV48 button[data-notice-dot]{
    -webkit-appearance:none!important;
    appearance:none!important;
    display:block!important;
    flex:0 0 7px!important;
    width:7px!important;
    min-width:7px!important;
    max-width:7px!important;
    height:7px!important;
    min-height:7px!important;
    max-height:7px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    outline:0!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.32)!important;
    box-shadow:none!important;
    color:transparent!important;
    font-size:0!important;
    line-height:0!important;
    opacity:1!important;
    transform:none!important;
    transition:width .22s ease,flex-basis .22s ease,background-color .22s ease!important;
  }

  body.tt-home .notice-slider-v48__controls #noticeDotsV48 button[data-notice-dot].active{
    flex-basis:22px!important;
    width:22px!important;
    min-width:22px!important;
    max-width:22px!important;
    background:#e4c58c!important;
  }

  body.tt-home .notice-slider-v48__controls .tt-slider-nav{
    position:static!important;
    inset:auto!important;
    display:grid!important;
    place-items:center!important;
    flex:0 0 38px!important;
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid rgba(228,197,140,.38)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.06)!important;
    color:#e4c58c!important;
    box-shadow:none!important;
    opacity:1!important;
    transform:none!important;
    overflow:hidden!important;
  }

  body.tt-home .notice-slider-v48__controls .tt-slider-nav svg{
    display:block!important;
    width:16px!important;
    height:16px!important;
    margin:0!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
    transform:none!important;
  }

  body.tt-home .notice-slider-v48__controls .tt-slider-nav:active{
    transform:scale(.94)!important;
    background:rgba(228,197,140,.14)!important;
  }
}

@media (max-width: 389.98px){
  body.tt-home .notice-slider-v48__controls{
    grid-template-columns:36px minmax(0,1fr) 36px!important;
    width:calc(100% - 26px)!important;
    gap:10px!important;
  }
  body.tt-home .notice-slider-v48__controls .tt-slider-nav{
    flex-basis:36px!important;
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
  }
}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/community-auth-v48-34.css */
/* Tulip Tower V48.35 — dedicated login choice page + auth-state navigation */
.auth-choice-v4835 {
  min-height: calc(100svh - 150px);
  padding: clamp(72px, 8vw, 118px) 20px 72px;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 18% 10%, rgba(221, 235, 246, .9), transparent 32%),
    radial-gradient(circle at 90% 90%, rgba(236, 226, 205, .72), transparent 28%),
    linear-gradient(145deg, #f8fafc 0%, #f3f6f8 50%, #f8f6f1 100%);
  color: #10253c;
}
.auth-choice-v4835__shell {
  width: min(930px, 100%);
  margin: 0 auto;
}
.auth-choice-v4835__back {
  width: max-content;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #52657a;
  text-decoration: none !important;
  font-size: 14px;
  font-weight: 650;
  transition: color .18s ease, transform .18s ease;
}
.auth-choice-v4835__back:hover { color: #163e60; transform: translateX(-2px); }
.auth-choice-v4835__intro {
  max-width: 680px;
  margin: 28px auto 34px;
  text-align: center;
}
.auth-choice-v4835__eyebrow {
  display: block;
  margin-bottom: 10px;
  color: #8c7550;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .2em;
}
.auth-choice-v4835__intro h1 {
  margin: 0;
  color: #102b45;
  font-family: "Noto Serif Display", Georgia, serif;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: -.025em;
}
.auth-choice-v4835__intro p {
  margin: 14px auto 0;
  color: #69798a;
  font-size: 16px;
  line-height: 1.65;
}
.auth-choice-v4835__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.auth-choice-v4835__card {
  position: relative;
  min-height: 196px;
  padding: 26px;
  border: 1px solid rgba(16, 47, 75, .10);
  border-radius: 22px;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) 34px;
  align-items: center;
  gap: 18px;
  overflow: hidden;
  background: rgba(255,255,255,.94);
  box-shadow: 0 18px 50px rgba(20, 46, 70, .08);
  color: #10253c !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.auth-choice-v4835__card::after {
  content: '';
  position: absolute;
  inset: auto -45px -65px auto;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: rgba(28, 83, 124, .055);
  pointer-events: none;
}
.auth-choice-v4835__card--admin::after { background: rgba(160, 128, 76, .07); }
.auth-choice-v4835__card:hover,
.auth-choice-v4835__card:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(28, 78, 116, .22);
  box-shadow: 0 24px 62px rgba(20, 46, 70, .13);
  outline: none;
}
.auth-choice-v4835__icon {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: #edf4f9;
  color: #174b73;
  border: 1px solid rgba(20, 67, 102, .08);
}
.auth-choice-v4835__card--admin .auth-choice-v4835__icon {
  background: #f7f1e7;
  color: #80663e;
}
.auth-choice-v4835__icon svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.auth-choice-v4835__copy {
  min-width: 0;
  display: grid;
  gap: 6px;
}
.auth-choice-v4835__copy small {
  color: #8492a1;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.auth-choice-v4835__copy strong {
  color: #102b45;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 750;
}
.auth-choice-v4835__copy > span {
  color: #657688;
  font-size: 14px;
  line-height: 1.55;
}
.auth-choice-v4835__arrow {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  justify-self: end;
  background: #f1f5f8;
  color: #355c7b;
  font-size: 18px;
  transition: transform .18s ease, background .18s ease;
}
.auth-choice-v4835__card:hover .auth-choice-v4835__arrow { transform: translateX(2px); background: #e7f0f6; }
.auth-choice-v4835__foot {
  margin-top: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  color: #718091;
  font-size: 14px;
  line-height: 1.5;
}
.auth-choice-v4835__foot a { color: #183f60; font-weight: 750; text-decoration: none; }
.auth-choice-v4835__foot a:hover { text-decoration: underline; }

@media (max-width: 767.98px) {
  .auth-choice-v4835 {
    min-height: calc(100svh - 86px);
    padding: 86px 14px 38px;
    place-items: start center;
  }
  .auth-choice-v4835__shell { width: 100%; }
  .auth-choice-v4835__back { min-height: 44px; font-size: 14px; }
  .auth-choice-v4835__intro { margin: 18px auto 24px; padding: 0 4px; }
  .auth-choice-v4835__eyebrow { font-size: 11.5px; margin-bottom: 8px; }
  .auth-choice-v4835__intro h1 { font-size: clamp(30px, 9vw, 38px); }
  .auth-choice-v4835__intro p { margin-top: 11px; font-size: 15.5px; line-height: 1.55; }
  .auth-choice-v4835__grid { grid-template-columns: 1fr; gap: 12px; }
  .auth-choice-v4835__card {
    min-height: 142px;
    padding: 18px 16px;
    border-radius: 18px;
    grid-template-columns: 48px minmax(0, 1fr) 32px;
    gap: 13px;
    box-shadow: 0 12px 34px rgba(20,46,70,.08);
  }
  .auth-choice-v4835__icon { width: 48px; height: 48px; border-radius: 14px; }
  .auth-choice-v4835__icon svg { width: 24px; height: 24px; }
  .auth-choice-v4835__copy small { font-size: 11.5px; }
  .auth-choice-v4835__copy strong { font-size: 18px; }
  .auth-choice-v4835__copy > span { font-size: 14px; line-height: 1.45; }
  .auth-choice-v4835__arrow { width: 32px; height: 32px; }
  .auth-choice-v4835__foot { margin-top: 20px; flex-wrap: wrap; text-align: center; font-size: 14px; }
}

@media (max-width: 390px) {
  .auth-choice-v4835 { padding-inline: 12px; }
  .auth-choice-v4835__card { grid-template-columns: 44px minmax(0, 1fr) 28px; padding: 16px 13px; gap: 10px; }
  .auth-choice-v4835__icon { width: 44px; height: 44px; }
  .auth-choice-v4835__copy strong { font-size: 17px; }
  .auth-choice-v4835__copy > span { font-size: 13.5px; }
}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/community-auth-v48-36.css */
/* Tulip Tower V48.36 — resident password recovery / password visibility / anti-spam UI */
.password-wrap-v4836{position:relative;display:block;width:100%}
.password-wrap-v4836>input{width:100%;padding-right:48px!important}
.password-toggle-v4836{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:#647b8e;display:grid;place-items:center;cursor:pointer;padding:0;z-index:2;transition:background .16s ease,color .16s ease}
.password-toggle-v4836:hover,.password-toggle-v4836:focus-visible{background:rgba(19,68,103,.08);color:#123f61;outline:none}
.password-toggle-v4836 svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.password-toggle-v4836.is-visible{color:#174d73;background:rgba(23,77,115,.08)}
.auth-login-meta-v4836{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;font-size:13.5px;line-height:1.45}
.auth-login-meta-v4836 label{display:flex;align-items:center;gap:8px;text-transform:none!important;letter-spacing:0!important;margin:0!important;color:#5e7080}
.auth-login-meta-v4836 input[type=checkbox]{width:auto!important;margin:0}
.auth-login-meta-v4836 a{color:#174d73;text-decoration:none;font-weight:700;white-space:nowrap}
.auth-login-meta-v4836 a:hover{text-decoration:underline}
.resident-honeypot-v4836{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

.resident-auth-page-v4836 .inner-main{min-height:calc(100svh - 160px)}
.resident-auth-v4836{min-height:calc(100svh - 120px);padding:112px 20px 70px;background:radial-gradient(circle at 15% 8%,rgba(213,228,238,.78),transparent 33%),linear-gradient(180deg,#f8fafb 0%,#eef3f6 100%);display:grid;place-items:start center}
.resident-auth-v4836__shell{width:min(100%,560px)}
.resident-auth-v4836__back{display:inline-flex;align-items:center;gap:8px;min-height:42px;color:#5b7082;text-decoration:none;font-size:14px;font-weight:700;margin-bottom:18px}
.resident-auth-v4836__back:hover{color:#163f60}
.resident-auth-v4836__card{background:rgba(255,255,255,.96);border:1px solid rgba(20,61,92,.1);border-radius:24px;padding:36px;box-shadow:0 24px 70px rgba(22,49,70,.11)}
.resident-auth-v4836__icon{width:56px;height:56px;border-radius:17px;display:grid;place-items:center;background:#edf4f8;color:#174b72;margin-bottom:20px}
.resident-auth-v4836__icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.resident-auth-v4836__eyebrow{display:block;color:#9b7b48;font-size:11.5px;line-height:1.2;font-weight:800;letter-spacing:.14em;margin-bottom:9px}
.resident-auth-v4836 h1{margin:0;color:#112f49;font-size:clamp(30px,4vw,40px);line-height:1.15;font-weight:760;letter-spacing:-.025em}
.resident-auth-v4836__card>p{margin:14px 0 24px;color:#657889;font-size:15px;line-height:1.65}
.resident-auth-v4836__form{display:grid;gap:16px}
.resident-auth-v4836__form label{display:grid;gap:8px;color:#2b475d;font-size:13.5px;font-weight:750}
.resident-auth-v4836__form input{height:48px;border:1px solid #d5e0e7;border-radius:12px;background:#fff;padding:0 14px;color:#16364f;font:inherit;font-size:15px;outline:none;transition:border-color .16s ease,box-shadow .16s ease}
.resident-auth-v4836__form input:focus{border-color:#6e9ab8;box-shadow:0 0 0 3px rgba(66,126,166,.11)}
.resident-auth-v4836__submit{min-height:50px;border:0;border-radius:12px;background:#123f62;color:#fff;font-size:14px;font-weight:800;padding:0 18px;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:transform .16s ease,background .16s ease}
.resident-auth-v4836__submit:hover{background:#0d3554;transform:translateY(-1px)}
.resident-auth-v4836__alert{border-radius:12px;padding:12px 14px;margin:0 0 18px;font-size:13.5px;line-height:1.55}
.resident-auth-v4836__alert.is-success{background:#edf8f2;border:1px solid #cfe8da;color:#286044}
.resident-auth-v4836__alert.is-error{background:#fff2f2;border:1px solid #f0d3d3;color:#8a3f3f}
.resident-auth-v4836__foot{margin-top:20px;padding-top:18px;border-top:1px solid #e8edf1;display:flex;justify-content:center;gap:7px;flex-wrap:wrap;color:#708191;font-size:13.5px}
.resident-auth-v4836__foot a{color:#174d73;font-weight:800;text-decoration:none}

@media(max-width:767.98px){
  .auth-login-meta-v4836{font-size:14px;gap:10px}
  .resident-auth-v4836{padding:86px 14px 42px;min-height:calc(100svh - 80px)}
  .resident-auth-v4836__card{padding:24px 18px;border-radius:20px}
  .resident-auth-v4836__icon{width:50px;height:50px;border-radius:15px;margin-bottom:16px}
  .resident-auth-v4836 h1{font-size:31px}
  .resident-auth-v4836__card>p{font-size:15.5px;line-height:1.6;margin-bottom:21px}
  .resident-auth-v4836__form label{font-size:14px}
  .resident-auth-v4836__form input{height:50px;font-size:16px}
  .resident-auth-v4836__submit{min-height:52px;font-size:15px}
  .password-toggle-v4836{width:38px;height:38px;right:7px}
}
@media(max-width:390px){
  .auth-login-meta-v4836{align-items:flex-start;flex-direction:column;gap:7px}
  .resident-auth-v4836{padding-inline:12px}
  .resident-auth-v4836__card{padding:22px 15px}
}

/* V48.39 — modal close button geometry polish */
.modal .dialog-head > .close{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  aspect-ratio:1/1;
  flex:0 0 40px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  border-radius:50%!important;
  border:1px solid rgba(20,65,91,.13)!important;
  background:#edf3f5!important;
  color:#173f57!important;
  font-family:Arial,sans-serif!important;
  font-size:25px!important;
  font-weight:400!important;
  line-height:1!important;
  text-align:center!important;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.modal .dialog-head > .close:hover{
  background:#e4edf1!important;
  border-color:rgba(20,65,91,.22)!important;
  box-shadow:0 5px 14px rgba(18,61,84,.12);
  transform:rotate(90deg);
}
.modal .dialog-head > .close:focus-visible{
  outline:2px solid rgba(36,105,141,.35)!important;
  outline-offset:2px;
}
@media (max-width:767px){
  .modal .dialog-head > .close{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    flex-basis:38px!important;
    font-size:24px!important;
  }
}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/community-survey-v48-41.css */
/* Tulip Tower V48.41 - Resident Survey Module */
:root{--sv-navy:#0f2940;--sv-navy2:#173c59;--sv-gold:#b99250;--sv-ink:#243949;--sv-muted:#6f7f8b;--sv-line:#dfe7ec;--sv-soft:#f5f8fa;--sv-white:#fff;--sv-green:#2d7b5e}
.survey-page,.survey-home{font-family:"Encode Sans",Arial,sans-serif;color:var(--sv-ink)}
.survey-shell{width:min(1120px,calc(100% - 40px));margin:0 auto}.survey-page{padding:52px 0 72px;background:linear-gradient(180deg,#f7fafb 0,#fff 45%)}
.survey-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--sv-gold);margin-bottom:8px}.survey-title{font-family:"Noto Serif Display",Georgia,serif;font-size:clamp(30px,4vw,48px);line-height:1.1;color:var(--sv-navy);margin:0 0 12px}.survey-lead{font-size:16px;line-height:1.75;color:#586b79;max-width:780px}.survey-meta{display:flex;gap:9px;flex-wrap:wrap;margin:17px 0 0}.survey-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--sv-line);border-radius:999px;background:#fff;font-size:12px;font-weight:750;color:#4e6474}
.survey-card{background:#fff;border:1px solid var(--sv-line);border-radius:16px;box-shadow:0 14px 40px rgba(15,41,64,.06);padding:22px}.survey-form-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px;margin-top:24px}.survey-question{padding:20px 0;border-top:1px solid #e9eef1}.survey-question:first-child{border-top:0;padding-top:0}.survey-question h2{font-size:18px;line-height:1.45;color:var(--sv-navy);margin:0 0 6px}.survey-question-help{font-size:13px;color:var(--sv-muted);margin-bottom:12px}.survey-required{color:#a64f4f}.survey-options{display:grid;gap:9px}.survey-choice{position:relative;display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid #dbe4e9;border-radius:11px;background:#fff;cursor:pointer;transition:.18s ease}.survey-choice:hover{border-color:#9db1bf;background:#fbfcfd}.survey-choice input{margin-top:3px;accent-color:var(--sv-navy);width:18px;height:18px;flex:0 0 auto}.survey-choice strong{display:block;color:#233e52}.survey-choice small{display:block;color:#71818d;margin-top:3px;line-height:1.5}.survey-image-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.survey-image-choice{display:block;padding:0;overflow:hidden}.survey-image-choice input{position:absolute;opacity:0;pointer-events:none}.survey-image-choice__media{aspect-ratio:4/3;background:#eef2f4;overflow:hidden;position:relative}.survey-image-choice__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.survey-image-choice:hover img{transform:scale(1.025)}.survey-image-choice__copy{padding:12px 13px}.survey-image-choice:has(input:checked){border-color:var(--sv-gold);box-shadow:0 0 0 2px rgba(185,146,80,.13)}.survey-image-choice:has(input:checked) .survey-image-choice__copy:after{content:"✓";float:right;color:var(--sv-green);font-weight:900}.survey-rating{display:flex;gap:7px;flex-wrap:wrap}.survey-rating label{cursor:pointer}.survey-rating input{position:absolute;opacity:0}.survey-rating span{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;border:1px solid #dbe4e9;background:#fff;font-weight:850;color:#536b7c}.survey-rating input:checked+span,.survey-rating span:hover{background:var(--sv-navy);border-color:var(--sv-navy);color:#fff}.survey-input,.survey-textarea{width:100%;border:1px solid #d7e1e7;border-radius:10px;padding:11px 12px;color:#21394a;background:#fff;font:inherit}.survey-input{height:44px}.survey-textarea{min-height:112px;resize:vertical}.survey-participant{display:grid;grid-template-columns:1fr 1fr;gap:10px}.survey-label{display:block;font-size:12px;font-weight:800;color:#4c6475;margin-bottom:6px}.survey-submit{width:100%;border:0;border-radius:11px;background:var(--sv-navy);color:#fff;padding:13px 16px;font-size:15px;font-weight:850;cursor:pointer}.survey-submit:hover{background:var(--sv-navy2)}.survey-aside{position:sticky;top:92px;align-self:start}.survey-aside h3{font-size:16px;color:var(--sv-navy);margin:0 0 10px}.survey-note{padding:12px;border-radius:10px;background:#f5f8fa;color:#5f7280;font-size:12px;line-height:1.6}.survey-anti{display:grid;gap:8px;margin-top:12px}.survey-anti span{font-size:12px;color:#637684;display:flex;gap:7px}.survey-anti b{color:var(--sv-green)}.survey-auth-lock{text-align:center;padding:32px 22px}.survey-auth-lock h2{color:var(--sv-navy);font-size:22px}.survey-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:10px;padding:11px 15px;font-weight:800;background:var(--sv-navy);color:#fff}.survey-btn--soft{background:#eef3f6;color:var(--sv-navy)}
.survey-list-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;margin-bottom:20px}.survey-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.survey-list-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--sv-line);border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;min-height:100%}.survey-list-card__media{aspect-ratio:16/9;background:linear-gradient(135deg,#173c59,#9e824f);overflow:hidden}.survey-list-card__media img{width:100%;height:100%;object-fit:cover}.survey-list-card__body{padding:15px;display:flex;flex-direction:column;gap:8px;flex:1}.survey-list-card h2{font-size:17px;line-height:1.4;color:var(--sv-navy);margin:0}.survey-list-card p{font-size:13px;line-height:1.55;color:#6a7a86;margin:0}.survey-list-card__foot{margin-top:auto;display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#758590}
.survey-result-head{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start}.survey-result-kpi{text-align:right}.survey-result-kpi strong{display:block;font-size:30px;color:var(--sv-navy)}.survey-result-kpi small{color:var(--sv-muted)}.survey-result-question{padding:20px 0;border-top:1px solid #e7edf0}.survey-result-question:first-child{border-top:0}.survey-result-question h2{font-size:18px;color:var(--sv-navy);margin:0 0 14px}.survey-result-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(220px,2fr) 92px;gap:12px;align-items:center;margin:10px 0}.survey-result-label{display:flex;align-items:center;gap:8px;font-size:13px}.survey-result-label img{width:48px;height:36px;object-fit:cover;border-radius:6px}.survey-result-bar{height:11px;background:#edf1f4;border-radius:999px;overflow:hidden}.survey-result-bar i{height:100%;display:block;border-radius:999px;background:linear-gradient(90deg,var(--sv-navy),#66879e)}.survey-result-value{text-align:right;font-size:12px;font-weight:850;color:#3d5668}.survey-result-rating{font-size:30px;color:var(--sv-gold);font-weight:900}.survey-comment{padding:11px 12px;border-radius:9px;background:#f6f8fa;margin:7px 0;font-size:13px;line-height:1.6}
.survey-home{background:#f5f8fa;border-top:1px solid #e7ecef;border-bottom:1px solid #e7ecef;padding:26px 0}.survey-home__box{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:26px;align-items:center}.survey-home__intro .survey-eyebrow{margin-bottom:7px}.survey-home__intro h2{font-family:"Noto Serif Display",Georgia,serif;font-size:clamp(25px,3vw,36px);line-height:1.18;color:var(--sv-navy);margin:0 0 8px}.survey-home__intro p{font-size:13px;line-height:1.65;color:#627481;margin:0 0 13px}.survey-home__actions{display:flex;gap:8px;flex-wrap:wrap}.survey-home__result{background:#fff;border:1px solid #dfe7ec;border-radius:14px;padding:14px 16px}.survey-home__result-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}.survey-home__result-head strong{font-size:13px;color:var(--sv-navy)}.survey-home__result-head span{font-size:11px;color:#74838e}.survey-home__row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(150px,2fr) 66px;gap:9px;align-items:center;margin:8px 0;font-size:12px}.survey-home__bar{height:8px;background:#edf1f4;border-radius:99px;overflow:hidden}.survey-home__bar i{display:block;height:100%;background:var(--sv-navy);border-radius:99px}.survey-home__pct{text-align:right;font-weight:800;color:#435b6d}.survey-home__waiting{padding:18px;border:1px dashed #d4dee4;border-radius:10px;color:#637684;text-align:center;font-size:13px}
.survey-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
@media(max-width:900px){.survey-form-grid{grid-template-columns:1fr}.survey-aside{position:static}.survey-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.survey-home__box{grid-template-columns:1fr}.survey-home__intro{max-width:720px}.survey-result-row{grid-template-columns:minmax(130px,1fr) minmax(170px,2fr) 82px}}
@media(max-width:600px){.survey-shell{width:calc(100% - 28px)}.survey-page{padding:30px 0 52px}.survey-title{font-size:31px}.survey-lead{font-size:15px}.survey-card{padding:15px;border-radius:13px}.survey-participant{grid-template-columns:1fr}.survey-image-options{grid-template-columns:1fr}.survey-list-grid{grid-template-columns:1fr}.survey-list-head{align-items:flex-start;flex-direction:column}.survey-question{padding:17px 0}.survey-question h2{font-size:17px}.survey-input,.survey-textarea{font-size:16px!important}.survey-result-head{grid-template-columns:1fr}.survey-result-kpi{text-align:left;display:flex;align-items:baseline;gap:8px}.survey-result-kpi strong{font-size:26px}.survey-result-row{grid-template-columns:1fr;gap:6px;margin:13px 0}.survey-result-value{text-align:left}.survey-home{padding:20px 0}.survey-home__box{gap:14px}.survey-home__actions .survey-btn{flex:1;min-width:120px}.survey-home__row{grid-template-columns:1fr;gap:5px;margin:11px 0}.survey-home__pct{text-align:left}.survey-meta{gap:6px}.survey-pill{font-size:11px}.survey-rating span{width:42px;height:42px}}

/* V48.41 media viewer */
.survey-cover{display:block;width:100%;max-width:920px;margin:20px 0 0;padding:0;border:0;border-radius:16px;overflow:hidden;background:#eef3f6;cursor:zoom-in;box-shadow:0 12px 34px rgba(15,41,64,.07)}.survey-cover img{display:block;width:100%;max-height:420px;object-fit:cover}.survey-image-choice__media{position:relative}.survey-image-zoom{position:absolute;right:9px;top:9px;width:36px;height:36px;border:1px solid rgba(255,255,255,.62);border-radius:50%;background:rgba(15,41,64,.78);color:#fff;display:grid;place-items:center;font-size:22px;line-height:1;cursor:zoom-in;z-index:2;box-shadow:0 4px 14px rgba(0,0,0,.16)}.survey-lightbox[hidden]{display:none!important}.survey-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(7,20,31,.92);display:grid;place-items:center;padding:62px 18px 20px}.survey-lightbox img{max-width:min(1100px,96vw);max-height:88vh;object-fit:contain;border-radius:10px;box-shadow:0 18px 55px rgba(0,0,0,.34)}.survey-lightbox__close{position:fixed;right:18px;top:18px;width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:28px;display:grid;place-items:center;line-height:1;cursor:pointer}.survey-lightbox-open{overflow:hidden}
@media(max-width:600px){.survey-cover{border-radius:12px;margin-top:15px}.survey-cover img{max-height:260px}.survey-image-zoom{width:40px;height:40px;right:8px;top:8px}.survey-lightbox{padding:58px 10px 14px}.survey-lightbox__close{right:12px;top:12px;width:40px;height:40px}.survey-lightbox img{max-width:96vw;max-height:82vh}}

/* V48.42 - tick-choice survey UI */
.survey-choice{align-items:center;gap:12px}.survey-choice>input{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;margin:0!important}.survey-choice__tick{width:22px;height:22px;flex:0 0 22px;border:1.5px solid #bdcbd4;border-radius:6px;background:#fff;display:grid;place-items:center;transition:.18s ease}.survey-choice__tick:after{content:"✓";font-size:14px;line-height:1;color:#fff;font-weight:900;transform:scale(.5);opacity:0;transition:.16s ease}.survey-choice>input:checked+.survey-choice__tick{border-color:var(--sv-navy);background:var(--sv-navy);box-shadow:0 0 0 3px rgba(18,55,79,.08)}.survey-choice>input:checked+.survey-choice__tick:after{transform:scale(1);opacity:1}.survey-choice:has(>input:checked){border-color:#9aafbc;background:#f8fbfc;box-shadow:0 0 0 2px rgba(18,55,79,.04)}.survey-choice:focus-within{outline:2px solid rgba(184,144,77,.35);outline-offset:2px}.survey-choice__copy{min-width:0;flex:1}.survey-choice__copy strong{display:block}.survey-choice__copy small{display:block}.survey-image-choice:has(input:checked):after{content:"✓";position:absolute;right:10px;top:10px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--sv-navy);color:#fff;font-weight:900;box-shadow:0 5px 14px rgba(15,41,64,.22)}.survey-image-choice{position:relative}
@media(max-width:600px){.survey-choice{padding:13px 12px}.survey-choice__tick{width:23px;height:23px;flex-basis:23px}.survey-choice__copy strong{font-size:15px}.survey-choice__copy small{font-size:13px}}

/* V48.43 - countdown, editable responses, larger text and full responsive survey layout */
.survey-page .survey-shell{width:min(1460px,calc(100% - 48px))}
.survey-detail-page .survey-lead,.survey-results-page .survey-lead{max-width:1040px}
.survey-detail-page .survey-form-grid{grid-template-columns:minmax(0,1fr) 320px;gap:24px;margin-top:26px}
.survey-detail-page .survey-form-card{padding:28px 30px}
.survey-detail-page .survey-cover{max-width:none;max-height:none}
.survey-detail-page .survey-cover img{max-height:500px}
.survey-image-options{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.survey-eyebrow{font-size:13px}
.survey-pill{font-size:13px;padding:8px 11px}
.survey-question h2{font-size:19px}
.survey-question-help{font-size:14px;line-height:1.6}
.survey-choice strong{font-size:15px;line-height:1.45}
.survey-choice small{font-size:14px;line-height:1.55}
.survey-label{font-size:14px}
.survey-note{font-size:14px;line-height:1.65}
.survey-note--member span{display:block;margin-top:4px;color:#36576d}
.survey-anti span{font-size:13px;line-height:1.5}
.survey-aside h3{font-size:18px}
.survey-submit{font-size:16px;min-height:50px}
.survey-list-card p{font-size:14px}.survey-list-card__foot{font-size:13px}
.survey-result-label{font-size:15px}.survey-result-value{font-size:14px}.survey-comment{font-size:14px}.survey-result-kpi small{font-size:14px}
.survey-home__intro p{font-size:15px}.survey-home__result-head strong{font-size:15px}.survey-home__result-head span{font-size:13px}.survey-home__row{font-size:14px}.survey-home__waiting{font-size:14px}.survey-home__meta{margin:0 0 14px!important}
.survey-home__rating{font-size:34px;font-weight:900;color:var(--sv-gold);padding:12px 0}
.survey-section-title{color:var(--sv-navy);font-size:20px;margin:0 0 12px}
.survey-result-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.survey-error{color:#a14444;font-size:14px;margin-top:8px}.survey-error--block{padding:10px 12px;background:#fff3f3;border-radius:9px}
.survey-success{margin-top:18px;padding:12px 14px;border:1px solid #cae6d8;border-radius:10px;background:#eff9f4;color:#236749;font-size:14px;font-weight:750}
.survey-edit-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:24px 0 0;padding:15px 18px;border:1px solid #d8e5ed;border-radius:14px;background:linear-gradient(135deg,#f7fbfd,#fffaf1)}
.survey-edit-banner span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--sv-gold);font-weight:850}.survey-edit-banner strong{display:block;margin-top:3px;color:var(--sv-navy);font-size:15px}.survey-edit-banner small{font-size:13px;color:#617685;white-space:nowrap}
.survey-submit:disabled{opacity:.55;cursor:not-allowed}

.survey-countdown{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0 0;padding:16px 18px;border:1px solid #dbe6ec;border-radius:16px;background:linear-gradient(135deg,#fff,#f3f7f9);box-shadow:0 9px 26px rgba(15,41,64,.05)}
.survey-countdown__copy{min-width:190px}.survey-countdown__copy span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:850;color:var(--sv-gold)}.survey-countdown__copy strong{display:block;margin-top:3px;color:var(--sv-navy);font-size:15px;line-height:1.4}
.survey-countdown__units{display:grid;grid-template-columns:repeat(4,minmax(66px,1fr));gap:8px}.survey-countdown__units>div{min-width:66px;padding:9px 10px;border:1px solid #e0e8ed;border-radius:11px;background:#fff;text-align:center}.survey-countdown__units b{display:block;font-size:24px;line-height:1;color:var(--sv-navy);font-variant-numeric:tabular-nums}.survey-countdown__units span{display:block;margin-top:5px;font-size:11px;color:#748491;font-weight:750}
.survey-countdown.is-ended{background:#f7f7f7;opacity:.82}.survey-countdown--compact{margin-top:20px}.survey-countdown--home{margin:0 0 14px;padding:12px 13px}.survey-countdown--home .survey-countdown__copy{min-width:160px}.survey-countdown--home .survey-countdown__copy strong{font-size:13px}.survey-countdown--home .survey-countdown__units>div{min-width:52px;padding:7px 8px}.survey-countdown--home .survey-countdown__units b{font-size:19px}.survey-countdown--home .survey-countdown__units span{font-size:10px}

@media(max-width:1100px){
  .survey-page .survey-shell{width:min(100% - 32px,1180px)}
  .survey-detail-page .survey-form-grid{grid-template-columns:minmax(0,1fr) 280px;gap:18px}
  .survey-detail-page .survey-form-card{padding:24px}
}
@media(max-width:900px){
  .survey-page .survey-shell{width:calc(100% - 28px)}
  .survey-detail-page .survey-form-grid{grid-template-columns:1fr}
  .survey-aside{position:static;order:2}
  .survey-countdown{align-items:flex-start;flex-direction:column}.survey-countdown__units{width:100%}
  .survey-edit-banner{align-items:flex-start;flex-direction:column;gap:6px}.survey-edit-banner small{white-space:normal}
}
@media(max-width:680px){
  .survey-page{padding:24px 0 44px}
  .survey-page .survey-shell{width:calc(100% - 20px)}
  .survey-title{font-size:clamp(28px,9vw,36px)}
  .survey-lead{font-size:16px;line-height:1.7}
  .survey-detail-page .survey-form-card,.survey-card{padding:17px 15px;border-radius:13px}
  .survey-form-grid{gap:12px;margin-top:18px}
  .survey-participant{grid-template-columns:1fr}
  .survey-question{padding:18px 0}.survey-question h2{font-size:18px}.survey-question-help{font-size:14px}
  .survey-choice{padding:14px 12px;gap:11px}.survey-choice strong{font-size:16px}.survey-choice small{font-size:14px}
  .survey-image-options{grid-template-columns:1fr}.survey-image-choice__copy{padding:13px}
  .survey-label{font-size:14px}.survey-pill{font-size:12.5px}.survey-note{font-size:14px}.survey-anti span{font-size:13.5px}
  .survey-input,.survey-textarea{font-size:16px!important}.survey-input{height:48px}
  .survey-submit{min-height:52px;font-size:16px}
  .survey-countdown{padding:13px 12px;border-radius:13px;gap:12px}.survey-countdown__copy{min-width:0}.survey-countdown__copy strong{font-size:14px}.survey-countdown__units{gap:5px}.survey-countdown__units>div{min-width:0;padding:8px 4px}.survey-countdown__units b{font-size:21px}.survey-countdown__units span{font-size:10px}
  .survey-countdown--home{margin-bottom:13px}.survey-countdown--home .survey-countdown__units>div{min-width:0}.survey-countdown--home .survey-countdown__units b{font-size:18px}
  .survey-home{padding:22px 0}.survey-home__intro p{font-size:15px}.survey-home__result-head{align-items:flex-start;flex-direction:column}.survey-home__result-head span{font-size:12px}.survey-home__row{font-size:14px}.survey-home__actions{display:grid;grid-template-columns:1fr}.survey-home__actions .survey-btn{width:100%}
  .survey-result-head{gap:10px}.survey-result-row{grid-template-columns:1fr;gap:7px}.survey-result-label{font-size:15px}.survey-result-value{font-size:14px}.survey-result-actions{display:grid;grid-template-columns:1fr}.survey-result-actions .survey-btn{width:100%}
  .survey-cover{margin-top:16px}.survey-cover img{max-height:320px}
}
@media(max-width:390px){
  .survey-page .survey-shell{width:calc(100% - 16px)}
  .survey-detail-page .survey-form-card,.survey-card{padding:15px 12px}
  .survey-countdown__units b{font-size:19px}.survey-countdown__units span{font-size:9px}
  .survey-rating{gap:5px}.survey-rating span{width:40px;height:40px;font-size:13px}
}

/* V48.44 - homepage survey full-width layout + safe columns + option thumbnails */
.survey-home .survey-shell{width:min(1460px,calc(100% - 48px));max-width:none}
.survey-home__box{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;align-items:stretch}
.survey-home__intro,.survey-home__result{min-width:0;max-width:100%}
.survey-home__intro{display:flex;flex-direction:column;justify-content:center}
.survey-home__result{align-self:stretch;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.survey-home .survey-countdown--home{display:block;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}
.survey-home .survey-countdown--home .survey-countdown__copy{min-width:0;width:100%;margin-bottom:10px}
.survey-home .survey-countdown--home .survey-countdown__copy strong{font-size:14px}
.survey-home .survey-countdown--home .survey-countdown__units{width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.survey-home .survey-countdown--home .survey-countdown__units>div{min-width:0;width:auto;padding:8px 5px;box-sizing:border-box}
.survey-home__row{grid-template-columns:minmax(150px,1fr) minmax(160px,2fr) 62px;gap:12px;min-width:0}
.survey-home__label{display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden}
.survey-home__label>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.survey-home__thumb{width:48px;height:40px;flex:0 0 48px;object-fit:cover;border-radius:7px;border:1px solid #dce5ea;background:#eef2f4}
.survey-choice__thumb{width:68px;height:52px;flex:0 0 68px;object-fit:cover;border-radius:8px;border:1px solid #dce5ea;background:#eef2f4}

@media(max-width:1180px){
  .survey-home .survey-shell{width:calc(100% - 36px)}
  .survey-home__box{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
  .survey-home__row{grid-template-columns:minmax(135px,1fr) minmax(130px,1.5fr) 58px;gap:9px}
}
@media(max-width:900px){
  .survey-home .survey-shell{width:calc(100% - 28px)}
  .survey-home__box{grid-template-columns:1fr;gap:18px}
  .survey-home__result{width:100%}
  .survey-home__row{grid-template-columns:minmax(150px,1fr) minmax(180px,2fr) 62px}
}
@media(max-width:680px){
  .survey-home .survey-shell{width:calc(100% - 20px)}
  .survey-home__box{gap:14px}
  .survey-home__result{padding:14px 13px}
  .survey-home__row{grid-template-columns:1fr;gap:6px;margin:12px 0;padding-bottom:11px;border-bottom:1px solid #edf1f4}
  .survey-home__row:last-child{padding-bottom:0;border-bottom:0}
  .survey-home__label>span{white-space:normal;overflow:visible;text-overflow:clip}
  .survey-home__thumb{width:58px;height:44px;flex-basis:58px;border-radius:8px}
  .survey-home__pct{text-align:left}
  .survey-choice__thumb{width:60px;height:46px;flex-basis:60px}
}
@media(max-width:390px){
  .survey-home .survey-shell{width:calc(100% - 16px)}
  .survey-home .survey-countdown--home{padding:11px 10px}
  .survey-home .survey-countdown--home .survey-countdown__units{gap:4px}
  .survey-home .survey-countdown--home .survey-countdown__units b{font-size:17px}
  .survey-home .survey-countdown--home .survey-countdown__units span{font-size:9px}
  .survey-choice__thumb{width:54px;height:42px;flex-basis:54px}
}

/* V48.46 - keep 1220px typography alignment; restore all survey images safely */
.survey-home{
  font-family:var(--font-body,"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",sans-serif);
}
.survey-home .survey-shell{
  width:min(1220px,calc(100% - 40px));
  max-width:1220px;
  margin-left:auto;
  margin-right:auto;
}
.survey-home__intro h2{
  font-family:var(--font-display,"Playfair Display",Georgia,"Times New Roman",serif);
  font-weight:600;
  letter-spacing:-.025em;
}
.survey-home__intro p,
.survey-home__result,
.survey-home__result-head,
.survey-home__row,
.survey-home__actions,
.survey-home .survey-pill,
.survey-home .survey-countdown--home{font-family:inherit}

/* Restore media visibility. Keep ratio rules scoped only to survey option media. */
.survey-cover img,
.survey-image-choice__media img,
.survey-home__thumb,
.survey-choice__thumb{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.survey-cover img{
  width:100%;
  height:auto;
  object-fit:cover;
  object-position:center;
}
.survey-image-choice__media{
  width:100%;
  aspect-ratio:16/10;
  min-height:180px;
  position:relative;
  overflow:hidden;
  background:#eef2f4;
}
.survey-image-choice__media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.survey-home__thumb{
  width:66px;
  height:44px;
  flex:0 0 66px;
  object-fit:cover;
  object-position:center;
  border-radius:7px;
}
.survey-choice__thumb{
  width:84px;
  height:56px;
  flex:0 0 84px;
  object-fit:cover;
  object-position:center;
  border-radius:8px;
}

@media(max-width:1180px){
  .survey-home .survey-shell{width:calc(100% - 36px);max-width:1220px}
}
@media(max-width:900px){
  .survey-home .survey-shell{width:calc(100% - 28px)}
  .survey-image-choice__media{min-height:200px}
}
@media(max-width:680px){
  .survey-home .survey-shell{width:calc(100% - 20px)}
  .survey-image-choice__media{min-height:0;aspect-ratio:16/10}
  .survey-home__thumb{width:60px;height:40px;flex-basis:60px}
  .survey-choice__thumb{width:72px;height:48px;flex-basis:72px}
}
@media(max-width:390px){
  .survey-home .survey-shell{width:calc(100% - 16px)}
  .survey-home__thumb{width:54px;height:36px;flex-basis:54px}
  .survey-choice__thumb{width:66px;height:44px;flex-basis:66px}
}

/* V48.47: do not render broken survey media; show a clean recovery state instead. */
.survey-image-choice__missing{position:absolute;inset:0;display:grid;place-items:center;padding:18px;text-align:center;color:#7a8a96;font-size:13px;font-weight:800;background:linear-gradient(135deg,#f3f6f8,#e9eef2)}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/tulip-responsive-v48-56.css */
/* V48.56: final responsive guardrails shared by home and inner pages. */
html,body{max-width:100%;overflow-x:hidden}img,svg,video,canvas,iframe{max-width:100%}.inner-main{min-width:0}.inner-main table{max-width:100%}.desktop-nav{min-width:0}.desktop-nav a{white-space:nowrap}
@media(max-width:1380px) and (min-width:1051px){.header-shell{width:min(100% - 24px,1420px)!important}.desktop-nav{gap:clamp(8px,1vw,16px)!important}.desktop-nav a{font-size:11px!important}.brand-text{display:none}.header-actions{gap:7px!important}.header-actions .btn{padding-inline:10px!important}}
@media(max-width:900px){.inner-main{padding-top:0}.inner-main .container,.inner-main .container-fluid{max-width:100%;padding-left:12px;padding-right:12px}.inner-main [class*="grid"]{min-width:0}.inner-main input,.inner-main select,.inner-main textarea,.inner-main button{max-width:100%}.community-inner-flash{left:11px!important;right:11px!important;width:auto!important}.mobile-menu{overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(24px,env(safe-area-inset-bottom))}}
@media(max-width:640px){h1{overflow-wrap:anywhere}.inner-main p,.inner-main li{overflow-wrap:anywhere}.inner-footer .footer-shell,.footer-shell{grid-template-columns:1fr!important}.inner-footer a,.inner-footer span{overflow-wrap:anywhere}.pagination{flex-wrap:wrap;gap:4px}.pagination .page-link{min-width:34px;text-align:center}.community-flash{left:10px!important;right:10px!important;max-width:none!important}.modal-dialog{margin:10px!important;max-width:calc(100% - 20px)!important}}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/tulip-v60-integration.css */
/* Tulip Tower V60 integration: resident utilities, compact reviews, internal footer, terms/profile polish. */
.home-utilities-v60{position:relative;padding:34px 0 40px;background:linear-gradient(180deg,#f7f5ef 0%,#f3f7f6 100%);overflow:hidden}.home-utilities-v60:before{content:"";position:absolute;inset:auto -8% -55% auto;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(228,197,140,.18),transparent 68%);pointer-events:none}.home-utilities-head-v60{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}.home-utilities-head-v60>div>span{display:block;font-size:10px;font-weight:800;letter-spacing:.18em;color:#9b7740;margin-bottom:5px}.home-utilities-head-v60 h2{margin:0;color:#17384c;font-family:"Noto Serif Display",serif;font-size:clamp(26px,3vw,38px);font-weight:600}.home-utilities-head-v60 p{margin:7px 0 0;max-width:660px;color:#6f7e82;font-size:13px;line-height:1.6}.home-utilities-head-v60>a{white-space:nowrap;text-decoration:none;color:#17384c;font-size:12px;font-weight:800;border-bottom:1px solid rgba(23,56,76,.25);padding-bottom:4px}.home-utilities-viewport-v60{overflow:hidden;touch-action:pan-y}.home-utilities-track-v60{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;padding:2px 2px 8px;cursor:grab}.home-utilities-track-v60::-webkit-scrollbar{display:none}.home-utilities-track-v60:active{cursor:grabbing}.home-utility-card-v60{flex:0 0 min(300px,82vw);scroll-snap-align:start;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:11px;border:1px solid rgba(23,56,76,.10);border-radius:16px;background:rgba(255,255,255,.88);box-shadow:0 9px 28px rgba(30,58,68,.055);transition:transform .22s ease,box-shadow .22s ease}.home-utility-card-v60:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(30,58,68,.09)}.home-utility-main-v60{display:flex;align-items:center;gap:11px;min-width:0;text-decoration:none}.home-utility-media-v60{width:58px;height:58px;flex:0 0 58px;border-radius:13px;overflow:hidden;display:grid;place-items:center;background:#e9f0ee}.home-utility-media-v60 img{width:100%;height:100%;object-fit:cover}.home-utility-media-v60.is-icon{position:relative;color:#17384c;font-size:27px}.home-utility-media-v60.is-icon i{font-style:normal;position:relative;z-index:2;animation:tulipUtilityFloat 3.2s ease-in-out infinite}.home-utility-media-v60.is-icon em{position:absolute;width:36px;height:36px;border:1px solid rgba(196,157,91,.45);border-radius:50%;animation:tulipUtilityPulse 2.4s ease-out infinite}.home-utility-copy-v60{min-width:0;display:flex;flex-direction:column}.home-utility-copy-v60 small{color:#a17c41;font-size:8px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-utility-copy-v60 strong{margin-top:2px;color:#17384c;font-size:14px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-utility-copy-v60>span{margin-top:3px;color:#73838a;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-utility-actions-v60{display:flex;gap:5px}.home-utility-actions-v60 a{width:44px;height:58px;border:1px solid #e0e7e5;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:#526a73;background:#fff}.home-utility-actions-v60 a b{font-size:15px;line-height:1}.home-utility-actions-v60 a span{font-size:8px;font-weight:800;margin-top:5px}.home-utility-actions-v60 .call{background:#17384c;color:#fff;border-color:#17384c}.home-utility-actions-v60 .zalo{color:#1769aa}.tulip-internal-site-v60{color:#e4c58c!important;font-weight:700;letter-spacing:.02em}.cu-provider-icon--image{overflow:hidden}.cu-provider-icon--image img{width:100%;height:100%;object-fit:cover}.cu-provider-icon--fallback{position:relative;overflow:hidden}.cu-provider-icon--fallback:after{content:"";position:absolute;width:38px;height:38px;border-radius:50%;border:1px solid rgba(196,157,91,.42);animation:tulipUtilityPulse 2.6s ease-out infinite}.cu-provider-icon--fallback i{font-style:normal;position:relative;z-index:1;animation:tulipUtilityFloat 3.2s ease-in-out infinite}.cu-detail-cover--fallback{display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#f7f0df,#e8f0ed 64%,#dfe9e6)}.cu-detail-cover--fallback span{font-size:72px;filter:drop-shadow(0 12px 22px rgba(23,56,76,.10));animation:tulipUtilityFloat 3.2s ease-in-out infinite}.cu-review-toggle-v60{margin-top:14px;border:1px solid #dce5e3;background:#fff;color:#17384c;border-radius:9px;min-height:42px;padding:0 14px;font-weight:850;cursor:pointer}.cu-review-toggle-v60 span{margin-left:5px;color:#a67e3e}.cu-review-list-v60[hidden]{display:none!important}.resident-terms-status-v60{border:1px solid #e0e7e5;border-radius:14px;background:#f7f9f8;padding:16px}.resident-terms-status-v60 summary{cursor:pointer;color:#17384c;font-weight:800}.resident-terms-status-v60 .resident-terms-copy-v60{margin-top:12px;color:#5f727a;line-height:1.7}.resident-terms-status-v60 .resident-terms-copy-v60 p{margin:0 0 9px}@keyframes tulipUtilityFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes tulipUtilityPulse{0%{transform:scale(.72);opacity:.8}75%,100%{transform:scale(1.25);opacity:0}}@media(max-width:720px){.home-utilities-v60{padding:26px 0 30px}.home-utilities-head-v60{align-items:flex-start}.home-utilities-head-v60 p{font-size:11px}.home-utilities-head-v60>a{display:none}.home-utilities-track-v60{margin-right:-12px;padding-right:12px}.home-utility-card-v60{flex-basis:278px}.home-utility-media-v60{width:54px;height:54px;flex-basis:54px}.home-utility-actions-v60 a{width:40px;height:54px}}

/* V69: homepage resident utilities show categories only; provider details live on the utility page. */
.home-utility-categories-v69 .home-utilities-head-v60{margin-bottom:20px}.home-utility-category-grid-v69{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px}.home-utility-category-v69{position:relative;min-width:0;min-height:126px;padding:18px 13px 15px;border:1px solid rgba(23,56,76,.10);border-radius:17px;background:rgba(255,255,255,.9);box-shadow:0 9px 26px rgba(30,58,68,.045);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;text-decoration:none;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.home-utility-category-v69:before{content:"";position:absolute;inset:auto -34px -38px auto;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle,rgba(228,197,140,.18),transparent 68%);transition:transform .28s ease}.home-utility-category-v69:hover{transform:translateY(-4px);border-color:rgba(196,157,91,.38);box-shadow:0 15px 34px rgba(30,58,68,.09)}.home-utility-category-v69:hover:before{transform:scale(1.25)}.home-utility-category-icon-v69{position:relative;width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#edf4f1,#f8f3e7);font-size:25px;margin-bottom:11px}.home-utility-category-icon-v69 i{font-style:normal;position:relative;z-index:2;animation:tulipUtilityFloat 3.2s ease-in-out infinite}.home-utility-category-icon-v69 em{position:absolute;width:34px;height:34px;border:1px solid rgba(196,157,91,.42);border-radius:50%;animation:tulipUtilityPulse 2.6s ease-out infinite}.home-utility-category-copy-v69{display:flex;min-width:0;flex-direction:column;align-items:center}.home-utility-category-copy-v69 strong{max-width:100%;color:#17384c;font-size:13px;line-height:1.35;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-utility-category-copy-v69 small{margin-top:4px;color:#829095;font-size:9px}.home-utility-category-arrow-v69{position:absolute;right:10px;top:10px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(23,56,76,.12);color:#a17c41;font-size:17px;line-height:1;transition:transform .22s ease,background .22s ease}.home-utility-category-v69:hover .home-utility-category-arrow-v69{transform:translateX(2px);background:#17384c;color:#fff}.
@media(max-width:1180px){.home-utility-category-grid-v69{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:760px){.home-utility-category-grid-v69{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;margin-right:-12px;padding:2px 12px 10px 1px}.home-utility-category-grid-v69::-webkit-scrollbar{display:none}.home-utility-category-v69{flex:0 0 132px;min-height:118px;scroll-snap-align:start}.home-utility-category-copy-v69 strong{font-size:12px}.home-utility-category-icon-v69{width:48px;height:48px;font-size:23px}}

/* V71 - featured utility categories: one horizontal slider row */
.home-utility-category-viewport-v71{position:relative;overflow:hidden}
.home-utility-category-track-v71{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;scroll-behavior:smooth;padding:3px 2px 12px;cursor:grab;touch-action:pan-y;-webkit-overflow-scrolling:touch}
.home-utility-category-track-v71::-webkit-scrollbar{display:none}
.home-utility-category-track-v71:active{cursor:grabbing}
.home-utility-category-slide-v71{flex:0 0 clamp(142px,14vw,188px);min-height:116px;scroll-snap-align:start}
.home-utility-categories-v69 .home-utilities-head-v60>a{display:inline-flex;align-items:center;gap:6px;padding:9px 13px;border:1px solid rgba(23,56,76,.15);border-radius:999px;background:#fff;border-bottom-width:1px;transition:.2s ease}
.home-utility-categories-v69 .home-utilities-head-v60>a:hover{background:#17384c;color:#fff;border-color:#17384c;transform:translateY(-1px)}
@media(max-width:760px){.home-utility-categories-v69 .home-utilities-head-v60{align-items:flex-end}.home-utility-categories-v69 .home-utilities-head-v60>a{display:inline-flex;font-size:10px;padding:8px 10px}.home-utility-category-track-v71{margin-right:-12px;padding-right:12px}.home-utility-category-slide-v71{flex-basis:136px;min-height:112px}}

/* V72 - resident utility slider / recent-area responsive hardening */
.home-utility-category-viewport-v71{max-width:100%;overflow:hidden;contain:layout paint}
.home-utility-category-track-v71{width:100%;max-width:100%;overscroll-behavior-x:contain;user-select:none;-webkit-user-select:none;scroll-padding-inline:2px}
.home-utility-category-track-v71.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.home-utility-category-track-v71.is-dragging a{pointer-events:none}
.home-utility-category-slide-v71{user-select:none;-webkit-user-drag:none}
.home-utility-categories-v69 .home-utilities-head-v60>a{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(23,56,76,.14);border-radius:999px;padding:9px 13px;border-bottom-width:1px;background:rgba(255,255,255,.72);transition:.2s ease}
.home-utility-categories-v69 .home-utilities-head-v60>a:hover{background:#17384c;color:#fff;border-color:#17384c;transform:translateY(-1px)}
@media(max-width:1024px){.home-utility-category-slide-v71{flex-basis:158px}.home-utilities-head-v60{gap:14px}.home-utilities-head-v60 p{max-width:560px}.latest-news-row-v68{min-width:0}.latest-news-copy-v68{min-width:0}}
@media(max-width:760px){.home-utilities-v60{overflow:hidden}.home-utilities-head-v60{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end}.home-utilities-head-v60>div{min-width:0}.home-utilities-head-v60 h2{font-size:28px}.home-utilities-head-v60 p{font-size:11.5px;line-height:1.55}.home-utility-category-track-v71{gap:9px;touch-action:pan-y pinch-zoom;padding-bottom:9px}.home-utility-category-slide-v71{flex:0 0 132px;min-height:106px;padding:14px 9px 12px;border-radius:15px}.home-utility-category-icon-v69{width:45px;height:45px;font-size:21px;margin-bottom:8px}.home-utility-category-copy-v69 strong{font-size:11.5px}.home-utility-category-copy-v69 small{font-size:8.5px}.home-utility-category-arrow-v69{width:20px;height:20px;font-size:14px}.home-utility-categories-v69 .home-utilities-head-v60>a{font-size:9.5px!important;padding:7px 9px!important;white-space:nowrap}.latest-news-row-v68{grid-template-columns:62px minmax(0,1fr) auto!important;gap:10px!important}.latest-news-thumb-v68{width:62px!important;height:54px!important}.latest-news-copy-v68 strong{font-size:12.5px!important;line-height:1.35!important}.latest-news-copy-v68 em{font-size:10.5px!important}}
@media(max-width:430px){.home-utilities-head-v60{grid-template-columns:1fr auto}.home-utilities-head-v60 p{max-width:250px}.home-utility-category-slide-v71{flex-basis:122px}.home-utility-category-copy-v69 strong{font-size:11px}.home-utility-categories-v69 .home-utilities-head-v60>a{font-size:0!important;width:36px;height:36px;padding:0!important;display:grid!important;place-items:center}.home-utility-categories-v69 .home-utilities-head-v60>a b{font-size:16px}.home-utility-categories-v69 .home-utilities-head-v60>a:before{content:"Tất cả";font-size:8px;font-weight:900;position:absolute;opacity:0;pointer-events:none}}

/* V73.1 — native mobile swipe, stable snap and perfectly even utility arrows. */
.home-utility-category-track-v71{scroll-snap-type:x proximity;touch-action:pan-x pan-y pinch-zoom}
.home-utility-category-arrow-v69{box-sizing:border-box!important;width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;padding:0!important;line-height:1!important;font-family:Arial,sans-serif!important;font-weight:700!important;text-align:center!important;transform:none!important}
.home-utility-category-v69:hover .home-utility-category-arrow-v69{transform:none!important;background:#17384c;color:#fff}
@media(max-width:760px){
  .home-utility-category-viewport-v71{overflow:hidden!important}
  .home-utility-category-track-v71{overflow-x:auto!important;overflow-y:hidden!important;scroll-behavior:auto!important;scroll-snap-type:x proximity!important;touch-action:pan-x pan-y pinch-zoom!important;overscroll-behavior-x:contain!important;-webkit-overflow-scrolling:touch!important;cursor:auto!important;will-change:scroll-position}
  .home-utility-category-track-v71.is-dragging{scroll-snap-type:x proximity!important}
  .home-utility-category-track-v71.is-dragging a{pointer-events:auto!important}
  .home-utility-category-slide-v71{scroll-snap-align:start!important;scroll-snap-stop:normal!important}
  .home-utility-category-arrow-v69{right:9px!important;top:9px!important;width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;font-size:15px!important}
}
@media(prefers-reduced-motion:reduce){.home-utility-category-track-v71{scroll-behavior:auto!important}.home-utility-category-icon-v69 i,.home-utility-category-icon-v69 em{animation:none!important}}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/tulip-v63-final.css */
/* Tulip Tower V63 final integration: registration alignment, latest info dates,
   activity hover copy, slider controls, upcoming event date. */

/* Resident registration: equal field rhythm, no inner scrollbar. */
body.tt-home #registerModal.resident-register-modal-v4849{overflow-y:auto!important;scrollbar-width:none!important}
body.tt-home #registerModal.resident-register-modal-v4849::-webkit-scrollbar{display:none!important}
body.tt-home #registerModal .resident-register-dialog-v4849{width:min(900px,calc(100vw - 44px))!important;padding:28px 30px 25px!important;overflow:visible!important;max-height:none!important}
body.tt-home #registerModal .resident-register-grid-v4849{display:grid!important;grid-template-columns:1fr 1fr!important;gap:15px 18px!important;align-items:start!important}
body.tt-home #registerModal .resident-register-grid-v4849 .field{display:grid!important;grid-template-rows:auto 54px!important;gap:7px!important;min-height:82px!important;margin:0!important}
body.tt-home #registerModal .resident-register-grid-v4849 .field.full{grid-column:1/-1!important}
body.tt-home #registerModal .resident-register-grid-v4849 .field>small{display:none!important}
body.tt-home #registerModal .resident-register-grid-v4849 input,
body.tt-home #registerModal .resident-register-grid-v4849 select{height:54px!important;min-height:54px!important;padding:13px 15px!important;font-size:16px!important;border-radius:14px!important}
body.tt-home #registerModal .resident-register-grid-v4849 .password-wrap-v4836{height:54px!important}
body.tt-home #registerModal .resident-register-grid-v4849 .password-wrap-v4836 input{height:54px!important}
body.tt-home #registerModal .resident-register-head-v4849 h3{font-size:31px!important}
body.tt-home #registerModal .resident-register-head-v4849 p{font-size:15.5px!important}
body.tt-home #registerModal .resident-terms-check-v4860{min-height:52px!important;font-size:15px!important;padding:12px 15px!important}
body.tt-home #registerModal .resident-register-footer-v4849{grid-template-columns:minmax(280px,330px) 1fr!important;gap:16px 20px!important}
body.tt-home #registerModal .resident-register-submit-v4849{height:54px!important;min-height:54px!important}
body.tt-home .register-rules-v63{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:-2px;padding:10px 12px;border-radius:11px;background:#f7faf9;border:1px solid #e5ecea;color:#71858f;font-size:12px;line-height:1.45}
body.tt-home .register-rules-v63 span{display:inline-flex;align-items:center;gap:5px}
body.tt-home .register-rules-v63 span:before{content:"•";color:#b48845;font-weight:900}

/* Latest information date: fixed dimensions prevent month/date collisions. */
body.tt-home .notice-v255-row .notice-date-v63{display:grid!important;grid-template-rows:31px 17px!important;place-items:center!important;width:58px!important;height:58px!important;min-width:58px!important;padding:5px!important;border-radius:15px!important;line-height:1!important;overflow:hidden!important}
body.tt-home .notice-v255-row .notice-date-v63 b{display:block!important;margin:0!important;font-size:25px!important;line-height:29px!important}
body.tt-home .notice-v255-row .notice-date-v63 small{display:block!important;margin:0!important;font-size:10px!important;line-height:15px!important;letter-spacing:.12em!important}

/* Upcoming event date: date and time get their own stable lane. */
body.tt-home .upcoming-event-feature{grid-template-columns:auto 104px minmax(0,1fr) 32px!important;gap:18px!important;min-height:96px!important;padding:16px 20px!important}
body.tt-home .upcoming-date-v63{display:grid!important;grid-template-columns:46px 1fr!important;gap:8px!important;align-items:center!important;width:104px!important;min-width:104px!important;padding:0 0 0 16px!important;border-left:1px solid rgba(255,255,255,.22)!important;white-space:nowrap!important}
body.tt-home .upcoming-date-v63>b{display:block!important;font-size:38px!important;line-height:1!important;font-family:"Noto Serif Display",serif!important;color:#f0ca82!important}
body.tt-home .upcoming-date-v63>span{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:2px!important}
body.tt-home .upcoming-date-v63 small{font-size:9.5px!important;line-height:1.15!important;color:#b9cbd0!important;font-weight:800!important}
body.tt-home .upcoming-date-v63 em{font-style:normal!important;font-size:10px!important;line-height:1.15!important;color:#dbe7e8!important;font-weight:700!important}
body.tt-home .upcoming-copy{min-width:0!important}
body.tt-home .upcoming-copy strong{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:18px!important;line-height:1.25!important}
body.tt-home .upcoming-copy small{display:block!important;margin-top:5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

/* Activity cards: cleaner title, summary appears on hover/focus only. */
body.tt-home .activity-card{isolation:isolate!important;position:relative!important;overflow:hidden!important}
body.tt-home .activity-card:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(4,26,48,.03) 20%,rgba(4,26,48,.18) 48%,rgba(4,26,48,.92) 100%);transition:background .32s ease}
body.tt-home .activity-card:hover:after,
body.tt-home .activity-card:focus-visible:after{background:linear-gradient(180deg,rgba(4,26,48,.08) 8%,rgba(4,26,48,.35) 44%,rgba(4,26,48,.96) 100%)}
body.tt-home .activity-card .activity-content{z-index:2!important;padding:26px 28px 24px!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;height:100%!important}
body.tt-home .activity-card .activity-title-v63{margin:10px 0 6px!important;font-size:29px!important;line-height:1.13!important;letter-spacing:-.025em!important;text-wrap:balance!important;text-shadow:0 2px 18px rgba(0,0,0,.35)!important}
body.tt-home .activity-card .activity-summary-v63{max-height:0!important;margin:0!important;opacity:0!important;overflow:hidden!important;transform:translateY(8px)!important;transition:max-height .34s ease,opacity .26s ease,transform .34s ease,margin .34s ease!important;font-size:14px!important;line-height:1.55!important;color:rgba(255,255,255,.88)!important}
body.tt-home .activity-card:hover .activity-summary-v63,
body.tt-home .activity-card:focus-visible .activity-summary-v63{max-height:128px!important;margin:5px 0 12px!important;opacity:1!important;transform:none!important}
body.tt-home .activity-card .activity-meta-line{margin-top:8px!important;font-size:10.5px!important;line-height:1.45!important;color:rgba(255,255,255,.72)!important}
body.tt-home .activity-card .activity-card-link-v48{margin-top:7px!important}

/* Activity navigation: normalized circle buttons independent of legacy overrides. */
body.tt-home .activity-nav{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:10px!important;margin-top:18px!important}
body.tt-home .activity-nav .arrow-btn{appearance:none!important;display:grid!important;place-items:center!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;padding:0!important;border:1px solid rgba(10,55,77,.14)!important;border-radius:50%!important;background:#fff!important;color:#0b3b54!important;box-shadow:0 8px 24px rgba(5,38,55,.10)!important;line-height:1!important;overflow:hidden!important;transform:none!important}
body.tt-home .activity-nav .arrow-btn .tt-arrow-icon{display:block!important;width:18px!important;height:18px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important;margin:0!important}
body.tt-home .activity-nav .arrow-btn:hover{background:#0c4059!important;color:#f0cc89!important;border-color:#0c4059!important;transform:translateY(-2px)!important}

/* Partner slider dots: compact horizontal pills, never tall bars. */
body.tt-home .sponsor-v255-controls.sponsor-v48-dots-only{display:flex!important;align-items:center!important;justify-content:center!important;min-height:28px!important;height:28px!important;padding:4px 10px!important;border-radius:999px!important;background:rgba(4,34,52,.64)!important;overflow:hidden!important}
body.tt-home .sponsor-v255-controls.sponsor-v48-dots-only .sponsor-controls{position:static!important;display:flex!important;align-items:center!important;justify-content:center!important;height:18px!important;min-width:0!important;padding:0!important;margin:0!important;gap:6px!important}
body.tt-home .sponsor-v255-controls.sponsor-v48-dots-only .sponsor-dot{display:block!important;appearance:none!important;width:7px!important;height:7px!important;min-width:7px!important;min-height:7px!important;max-width:none!important;padding:0!important;margin:0!important;border:0!important;border-radius:999px!important;background:rgba(255,255,255,.36)!important;box-shadow:none!important;transform:none!important;transition:width .22s ease,background .22s ease!important}
body.tt-home .sponsor-v255-controls.sponsor-v48-dots-only .sponsor-dot.active{width:22px!important;background:#e5bd73!important}

@media (hover:none){
  body.tt-home .activity-card .activity-summary-v63{display:none!important}
}
@media(max-width:720px){
  body.tt-home #registerModal .resident-register-dialog-v4849{width:100%!important;padding:20px 17px 18px!important}
  body.tt-home #registerModal .resident-register-grid-v4849{grid-template-columns:1fr!important;gap:11px!important}
  body.tt-home #registerModal .resident-register-grid-v4849 .field,
  body.tt-home #registerModal .resident-register-grid-v4849 .field.full{grid-column:auto!important;min-height:79px!important}
  body.tt-home #registerModal .resident-register-footer-v4849{grid-template-columns:1fr!important}
  body.tt-home .upcoming-event-feature{grid-template-columns:auto minmax(0,1fr) 32px!important;gap:11px!important;padding:14px 15px!important}
  body.tt-home .upcoming-label{grid-column:1/-1!important}
  body.tt-home .upcoming-date-v63{width:88px!important;min-width:88px!important;grid-template-columns:39px 1fr!important;padding-left:0!important;border-left:0!important}
  body.tt-home .upcoming-date-v63>b{font-size:32px!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 .activity-card .activity-title-v63{font-size:26px!important}
  body.tt-home .activity-nav .arrow-btn{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important}
  body.tt-home .notice-v255-row .notice-date-v63{width:52px!important;height:55px!important;min-width:52px!important;grid-template-rows:29px 16px!important}
  body.tt-home .notice-v255-row .notice-date-v63 b{font-size:23px!important}
}

/* V68 · Latest featured news block */
body.tt-home .latest-news-row-v68{display:grid!important;grid-template-columns:88px minmax(0,1fr) 34px!important;gap:14px!important;align-items:center!important;padding:10px!important;border-radius:16px!important;min-height:92px!important;transition:transform .22s ease,box-shadow .22s ease,background .22s ease!important}
body.tt-home .latest-news-row-v68:hover{transform:translateY(-2px);background:#fff!important;box-shadow:0 12px 30px rgba(17,52,68,.09)!important}
body.tt-home .latest-news-thumb-v68{display:grid!important;place-items:center!important;width:88px!important;height:70px!important;border-radius:12px!important;overflow:hidden!important;background:linear-gradient(145deg,#dce9e5,#c8d8d2)!important;color:#496c6d!important;font:800 22px var(--font-display,serif)!important}
body.tt-home .latest-news-thumb-v68 img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;transition:transform .35s ease!important}
body.tt-home .latest-news-row-v68:hover .latest-news-thumb-v68 img{transform:scale(1.045)}
body.tt-home .latest-news-copy-v68{min-width:0!important;display:block!important}
body.tt-home .latest-news-copy-v68 strong{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;font-size:14px!important;line-height:1.35!important;margin:4px 0!important}
body.tt-home .latest-news-copy-v68 em{display:block!important;font-style:normal!important;color:#7b8d94!important;font-size:11px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.tt-home .latest-news-meta-v68{display:flex!important;align-items:center!important;gap:6px!important;color:#9b7a43!important;font-size:9px!important;letter-spacing:.05em!important;text-transform:uppercase!important}
body.tt-home .latest-news-meta-v68 b{font-size:10px!important;color:#456570!important}
body.tt-home .latest-news-meta-v68 i{font-style:normal!important;color:#bdc8c8!important}
@media(max-width:680px){body.tt-home .latest-news-row-v68{grid-template-columns:72px minmax(0,1fr) 28px!important;gap:10px!important;min-height:82px!important}body.tt-home .latest-news-thumb-v68{width:72px!important;height:62px!important}body.tt-home .latest-news-copy-v68 em{display:none!important}}
body.tt-home .latest-news-empty-v68{display:grid;grid-template-columns:34px 1fr;column-gap:10px;row-gap:2px;align-items:center;padding:16px;border:1px dashed rgba(68,102,110,.22);border-radius:14px;background:rgba(255,255,255,.5);color:#607981}body.tt-home .latest-news-empty-v68>span{grid-row:1/3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f1e7d3;color:#a77d3d}body.tt-home .latest-news-empty-v68 strong{font-size:12px;color:#385a66}body.tt-home .latest-news-empty-v68 small{font-size:10px;line-height:1.4}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/tulip-v64-final.css */
/* Tulip Tower V64 final polish */

/* Registration: field-level feedback is always visible and aligned. */
body.tt-home #registerModal .resident-register-grid-v4849 .field{grid-template-rows:auto 54px minmax(18px,auto)!important;min-height:104px!important}
body.tt-home #registerModal .resident-register-grid-v4849 .field>small.field-help-v64,
body.tt-home #registerModal .resident-register-grid-v4849 .field>small.field-error-v64{display:block!important;margin:0!important;font-size:12.5px!important;line-height:1.42!important;min-height:18px!important}
body.tt-home #registerModal .resident-register-grid-v4849 .field>small.field-help-v64{color:#81939b!important}
body.tt-home #registerModal .resident-register-grid-v4849 .field>small.field-error-v64{color:#b53b38!important;font-weight:750!important}
body.tt-home #registerModal .resident-register-grid-v4849 .field.has-error-v64 input,
body.tt-home #registerModal .resident-register-grid-v4849 .field.has-error-v64 select,
body.tt-home #registerModal .resident-terms-check-v4860.has-error-v64{border-color:#c9524d!important;box-shadow:0 0 0 3px rgba(201,82,77,.08)!important}
body.tt-home #registerModal .resident-register-grid-v4849 .field.full{min-height:104px!important}

/* Upcoming event: clearer date block and generous spacing. */
body.tt-home .upcoming-event-feature{grid-template-columns:auto 122px minmax(0,1fr) 34px!important;gap:20px!important;min-height:108px!important;padding:18px 22px!important;border-radius:16px!important}
body.tt-home .upcoming-label{font-size:12px!important;letter-spacing:.08em!important;padding:10px 14px!important}
body.tt-home .upcoming-date-v63{display:grid!important;grid-template-columns:54px 1fr!important;gap:10px!important;width:122px!important;min-width:122px!important;padding-left:18px!important;border-left:1px solid rgba(255,255,255,.22)!important;align-items:center!important}
body.tt-home .upcoming-date-v63>b{font-size:44px!important;line-height:.95!important;font-weight:750!important;color:#f2ca7a!important}
body.tt-home .upcoming-date-v63>span{gap:4px!important}
body.tt-home .upcoming-date-v63 small{font-size:11px!important;line-height:1!important;letter-spacing:.035em!important;color:#bfd0d4!important}
body.tt-home .upcoming-date-v63 em{font-size:11.5px!important;line-height:1!important;color:#f1f6f5!important}
body.tt-home .upcoming-copy strong{font-size:18px!important;line-height:1.3!important;font-weight:780!important}
body.tt-home .upcoming-copy small{font-size:12px!important;line-height:1.35!important;color:#afc1c7!important}

/* Activity cards: no duplicate top date badge. Meta is the only date/location row. */
body.tt-home .activity-card .activity-content{padding:26px 28px 25px!important}
body.tt-home .activity-card .activity-date{display:none!important}
body.tt-home .activity-card .activity-title-v63{margin:0 0 7px!important;font-size:26px!important;line-height:1.14!important;letter-spacing:-.023em!important;font-weight:760!important}
body.tt-home .activity-card .activity-meta-line{display:flex!important;align-items:center!important;gap:11px!important;min-width:0!important;width:100%!important;margin:8px 0 2px!important;font-size:12.5px!important;line-height:1.35!important;font-weight:620!important;color:rgba(255,255,255,.86)!important;white-space:nowrap!important;overflow:hidden!important}
body.tt-home .activity-card .activity-meta-line>span{display:block!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.tt-home .activity-card .activity-meta-line>span:first-child{flex:0 0 auto!important}
body.tt-home .activity-card .activity-meta-line>span:last-child{flex:1 1 auto!important}
body.tt-home .activity-card .activity-summary-v63{font-size:13.5px!important;line-height:1.52!important}
body.tt-home .activity-card .activity-card-link-v48{margin-top:12px!important}
body.tt-home .activity-nav{gap:11px!important;margin-top:18px!important}
body.tt-home .activity-nav .arrow-btn{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border:1px solid rgba(255,255,255,.7)!important;background:#fbfdfc!important;color:#113f57!important;box-shadow:0 9px 22px rgba(3,28,43,.13)!important}
body.tt-home .activity-nav .arrow-btn:hover{background:#e7bc70!important;color:#113f57!important;border-color:#e7bc70!important}
body.tt-home .activity-nav .arrow-btn .tt-arrow-icon{width:18px!important;height:18px!important}

/* Admin maintenance preview banner. */
.tt-admin-maintenance-preview-v64{position:relative;z-index:9998;display:flex;justify-content:center;align-items:center;gap:10px;padding:9px 18px;background:#0b3448;color:#f8f4e9;border-bottom:1px solid rgba(230,190,113,.45);font:700 13px/1.45 "Encode Sans",sans-serif;text-align:center}
.tt-admin-maintenance-preview-v64 b{color:#e9c274}.tt-admin-maintenance-preview-v64 span{opacity:.88}

/* Gallery detail: images remain clean; only subtle motion on hover. */
.tt-v33-album-detail .gallery-card-v33 .gallery-shade-v33,
.tt-v33-album-detail .gallery-card-v33 .gallery-index-v33,
.tt-v33-album-detail .gallery-card-v33 .gallery-copy-v33{display:none!important}
.tt-v33-album-detail .gallery-card-v33{overflow:hidden!important;background:#eef3f2!important}
.tt-v33-album-detail .gallery-card-v33 img{transition:transform .65s cubic-bezier(.2,.75,.25,1),filter .4s ease!important;transform:scale(1.002)!important}
.tt-v33-album-detail .gallery-card-v33:hover img,
.tt-v33-album-detail .gallery-card-v33:focus-visible img{transform:scale(1.045)!important;filter:saturate(1.03) contrast(1.02)!important}

@media(max-width:720px){
  body.tt-home #registerModal .resident-register-grid-v4849 .field,
  body.tt-home #registerModal .resident-register-grid-v4849 .field.full{min-height:102px!important}
  body.tt-home .upcoming-event-feature{grid-template-columns:96px minmax(0,1fr) 30px!important;gap:12px!important;padding:15px!important}
  body.tt-home .upcoming-label{grid-column:1/-1!important;width:max-content!important;font-size:10px!important;padding:8px 11px!important}
  body.tt-home .upcoming-date-v63{grid-template-columns:42px 1fr!important;width:96px!important;min-width:96px!important;padding-left:0!important;border-left:0!important;gap:7px!important}
  body.tt-home .upcoming-date-v63>b{font-size:35px!important}
  body.tt-home .upcoming-date-v63 small{font-size:9.5px!important}
  body.tt-home .upcoming-date-v63 em{font-size:10px!important}
  body.tt-home .activity-card .activity-title-v63{font-size:23px!important}
  body.tt-home .activity-card .activity-meta-line{font-size:11.5px!important;gap:8px!important}
  body.tt-home .activity-nav .arrow-btn{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}
}

/* Utilities: complete contact details in the directory list. */
.community-utilities-page .cu-provider-copy{min-width:0!important}.community-utilities-page .cu-provider-address,.community-utilities-page .cu-provider-phone,.community-utilities-page .cu-provider-price{display:block;margin-top:4px;font-size:12.5px;line-height:1.42;color:#6f828b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.community-utilities-page .cu-provider-phone{color:#355867;font-weight:700}.community-utilities-page .cu-provider-price{color:#9b7131;font-size:12px}

.tt-v33-album-detail .v33-photo-card{overflow:hidden!important;background:#edf2f1!important}.tt-v33-album-detail .v33-photo-card>img{transition:transform .68s cubic-bezier(.2,.75,.25,1),filter .4s ease!important;transform:scale(1.002)!important}.tt-v33-album-detail .v33-photo-card:hover>img,.tt-v33-album-detail .v33-photo-card:focus-visible>img{transform:scale(1.05)!important;filter:saturate(1.04) contrast(1.02)!important}.tt-v33-album-detail .v33-photo-card .v64-photo-open{position:absolute;right:14px;bottom:14px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:rgba(7,48,67,.78);border:1px solid rgba(255,255,255,.5);color:#f0ca82;font-style:normal;font-size:19px;opacity:0;transform:translateY(7px);transition:.3s ease;backdrop-filter:blur(8px)}.tt-v33-album-detail .v33-photo-card:hover .v64-photo-open,.tt-v33-album-detail .v33-photo-card:focus-visible .v64-photo-open{opacity:1;transform:none}@media(hover:none){.tt-v33-album-detail .v33-photo-card .v64-photo-open{opacity:.82;transform:none;width:34px;height:34px}}
body.tt-home #registerModal .resident-terms-error-v64{display:block!important;margin:7px 2px 0!important;color:#b53b38!important;font-size:12.5px!important;font-weight:750!important;line-height:1.4!important}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/tulip-v65-final.css */
/* Tulip Tower V65 final polish — resident profile, services, events, images */

/* Registration: balanced 2-column form, inline validation remains visible. */
body.tt-home #registerModal .resident-register-grid-v65 .field{grid-template-rows:auto 54px auto!important;min-height:104px!important}
body.tt-home #registerModal .resident-register-grid-v65 .field>small{display:block!important;min-height:18px!important;margin:0!important;font-size:12px!important;line-height:1.4!important}
body.tt-home #registerModal .resident-register-grid-v65 .field-help-v64{color:#7b8d96!important}
body.tt-home #registerModal .resident-register-grid-v65 .field-error-v64{color:#a64f48!important;font-weight:750!important}
body.tt-home #registerModal .resident-register-grid-v65 .has-error-v64 input,
body.tt-home #registerModal .resident-register-grid-v65 .has-error-v64 select{border-color:#c86961!important;background:#fffafa!important;box-shadow:0 0 0 3px rgba(200,105,97,.08)!important}

/* Resident avatar */
.resident-avatar-v65{position:relative;overflow:hidden;isolation:isolate}.resident-avatar-v65 img{width:100%;height:100%;object-fit:cover;display:block}.resident-avatar-v65.is-animated{background:linear-gradient(145deg,#123e50,#0b2735);color:#f1d492}.resident-avatar-v65.is-animated:before,.resident-avatar-v65.is-animated:after{content:"";position:absolute;border:1px solid rgba(231,194,129,.35);border-radius:50%;inset:9px;animation:residentAvatarOrbit 8s linear infinite}.resident-avatar-v65.is-animated:after{inset:17px;border-style:dashed;animation-direction:reverse;animation-duration:11s}.resident-avatar-v65.is-animated>span{position:relative;z-index:2}.resident-avatar-v65.gender-female{background:linear-gradient(145deg,#31545c,#7a5b67)}.resident-avatar-v65.gender-male{background:linear-gradient(145deg,#103d51,#355a68)}.resident-avatar-v65.gender-other,.resident-avatar-v65.preset-star{background:linear-gradient(145deg,#3e5360,#6c604d)}@keyframes residentAvatarOrbit{to{transform:rotate(360deg)}}

/* Account overview: community fund gets its own full-width row. */
.resident-fund-strip-v65{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;margin:0 0 16px;padding:18px 20px;border-radius:17px;background:linear-gradient(120deg,#0c3d52,#174d61);color:#fff;text-decoration:none;box-shadow:0 14px 30px rgba(10,48,65,.12)}.resident-fund-strip-v65 span:first-child{display:flex;align-items:baseline;gap:16px}.resident-fund-strip-v65 small{font-size:12px;color:#d7e6e8;font-weight:800}.resident-fund-strip-v65 strong{font-size:26px;white-space:nowrap}.resident-fund-strip-v65>span:nth-child(2){color:#c8d9dc;font-size:13px}.resident-fund-strip-v65>b{white-space:nowrap;color:#f0d28f}.resident-shortcuts-v40{grid-template-columns:repeat(4,minmax(0,1fr))!important}.resident-shortcuts-v40>a{min-width:0}

/* Profile */
.resident-page-head-v65 h2{font-size:clamp(30px,3vw,42px)!important}.resident-profile-v65{padding:0!important;overflow:hidden}.resident-profile-form-v65{display:grid;grid-template-columns:290px minmax(0,1fr);gap:0}.resident-avatar-panel-v65{padding:26px;border-right:1px solid #e1e9e7;background:linear-gradient(160deg,#f7faf9,#eef4f1)}.resident-avatar-preview-v65{width:140px;height:140px;margin:0 auto 17px;border-radius:32px;position:relative;overflow:hidden;display:grid;place-items:center;background:#113f52;color:#f0d18c;box-shadow:0 16px 30px rgba(14,55,70,.14);isolation:isolate}.resident-avatar-preview-v65 img{width:100%;height:100%;object-fit:cover}.resident-avatar-preview-v65 .avatar-core-v65{font-size:34px;font-weight:900;z-index:2}.resident-avatar-preview-v65 .avatar-orbit-v65{position:absolute;inset:14px;border:1px solid rgba(240,209,140,.55);border-radius:34px;animation:residentAvatarOrbit 8s linear infinite}.resident-avatar-preview-v65 .avatar-spark-v65{position:absolute;right:18px;top:14px;font-size:16px;animation:residentSpark 2.4s ease-in-out infinite}@keyframes residentSpark{50%{transform:scale(1.35);opacity:.45}}.resident-avatar-preview-v65.gender-female{background:linear-gradient(145deg,#335662,#735c6b)}.resident-avatar-preview-v65.gender-male{background:linear-gradient(145deg,#103f53,#38616d)}.resident-avatar-preview-v65.preset-leaf{background:linear-gradient(145deg,#31584d,#163e47)}.resident-avatar-preview-v65.preset-star{background:linear-gradient(145deg,#524b68,#174454)}.resident-avatar-copy-v65{text-align:center}.resident-avatar-copy-v65 strong{color:#173c4f;font-size:16px}.resident-avatar-copy-v65 p{font-size:12px;line-height:1.55;color:#75868e}.resident-upload-v65{display:flex;justify-content:center;margin:14px 0}.resident-upload-v65 input{position:absolute;opacity:0;pointer-events:none}.resident-upload-v65 span{display:inline-flex;min-height:40px;padding:0 15px;align-items:center;border-radius:10px;background:#123f53;color:#fff;font-size:12px;font-weight:850;cursor:pointer}.resident-remove-photo-v65{display:block;text-align:center;color:#6f7f86;font-size:11px}.resident-avatar-presets-v65{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:17px}.resident-avatar-presets-v65 label{cursor:pointer;text-align:center}.resident-avatar-presets-v65 input{position:absolute;opacity:0}.resident-avatar-presets-v65 span{height:39px;border:1px solid #d7e2df;border-radius:10px;background:#fff;display:grid;place-items:center;font-size:19px;color:#385666}.resident-avatar-presets-v65 input:checked+span{background:#e8d2a4;border-color:#c7a462;color:#173e51;box-shadow:0 0 0 2px rgba(199,164,98,.18)}.resident-avatar-presets-v65 small{display:block;font-size:8px;color:#849299;margin-top:3px}.resident-profile-grid-v65{padding:26px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.resident-profile-grid-v65 label{display:grid;gap:7px;align-content:start}.resident-profile-grid-v65 label.full{grid-column:1/-1}.resident-profile-grid-v65 label>span{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#526b78;font-weight:850}.resident-profile-grid-v65 input,.resident-profile-grid-v65 select{width:100%;min-height:52px;border:1px solid #cfddda;border-radius:12px;background:#fff;padding:0 14px;font-size:15px;color:#193d4e}.resident-profile-grid-v65 input:disabled{background:#edf2f1;color:#71838b}.resident-profile-grid-v65 small{font-size:10px;color:#829198}.resident-profile-grid-v65 .resident-error-v65{color:#a64e48;font-weight:800}.resident-profile-actions-v65{grid-column:2;padding:0 26px 26px;text-align:right}.resident-terms-v65{margin-top:16px;padding:22px!important}.resident-terms-head-v65{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.resident-terms-head-v65 span{font-size:10px;font-weight:900;letter-spacing:.1em;color:#ad8242}.resident-terms-head-v65 h3{margin:5px 0;color:#173d50;font-size:23px}.resident-terms-head-v65 p{margin:0;color:#6e818a;line-height:1.55}.resident-terms-head-v65>b{border-radius:999px;background:#f1e4c8;color:#805f29;padding:7px 10px;font-size:11px}.resident-terms-status-v65{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px 14px;border-radius:12px;background:#eaf6f0;color:#356c55}.resident-terms-status-v65>span{width:30px;height:30px;border-radius:50%;background:#fff;display:grid;place-items:center;font-weight:900}.resident-terms-status-v65 div{display:grid}.resident-terms-status-v65 small{font-size:10px}.resident-terms-accept-v65{display:flex;align-items:center;gap:14px;margin-top:16px;padding:13px;border:1px solid #dde6e4;border-radius:12px;background:#f8faf9}.resident-terms-accept-v65 label{display:flex;align-items:center;gap:8px;flex:1;font-weight:750;color:#385566}.resident-terms-accept-v65 input{width:18px;height:18px}.resident-terms-details-v65{margin-top:14px;border-top:1px solid #e4ebe9;padding-top:13px}.resident-terms-details-v65 summary{cursor:pointer;color:#2d5264;font-weight:800}.resident-terms-details-v65>div{margin-top:14px;color:#5e737d;line-height:1.75}

/* Service directory: two columns, no SMS. */
.community-utilities-page .cu-provider-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.community-utilities-page .cu-provider-card{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main rating" "main actions";gap:8px 12px;padding:14px}.community-utilities-page .cu-provider-main{grid-area:main}.community-utilities-page .cu-provider-rating{grid-area:rating;min-width:80px}.community-utilities-page .cu-quick-actions{grid-area:actions;justify-content:flex-end}.community-utilities-page .cu-quick{width:48px;height:44px}.community-utilities-page .cu-provider-icon--image img{width:100%;height:100%;object-fit:cover;border-radius:10px}.community-utilities-page .cu-provider-copy strong{font-size:16px}.community-utilities-page .cu-provider-address,.community-utilities-page .cu-provider-phone,.community-utilities-page .cu-provider-price{font-size:12px;line-height:1.35}.community-utilities-page .cu-provider-price{color:#98713b}

/* Events and library image consistency. */
body.tt-home .upcoming-event-feature{grid-template-columns:auto 108px minmax(0,1fr) 34px!important;gap:18px!important;padding:17px 20px!important}.upcoming-date-v63{display:grid!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:9px!important;min-width:100px!important}.upcoming-date-v63>b{font-size:40px!important;line-height:.95!important}.upcoming-date-v63>span{display:grid!important;gap:2px!important}.upcoming-date-v63 small{font-size:14px!important;font-weight:900!important}.upcoming-date-v63 em{font-size:12px!important;font-style:normal!important}.upcoming-copy strong{font-size:17px!important;line-height:1.3!important}.upcoming-copy small{font-size:12px!important}.activity-title-v63{font-size:clamp(22px,2vw,30px)!important;line-height:1.12!important}.activity-meta-line{font-size:12px!important;display:flex!important;gap:10px!important;flex-wrap:nowrap!important;white-space:nowrap!important;overflow:hidden!important}.activity-meta-line span{overflow:hidden;text-overflow:ellipsis}.activity-card{background-size:cover!important;background-position:center!important}.tt-albums-page img,.tt-album-detail-page img,.activity-list-page img,.activity-journal-page img{object-fit:cover!important;object-position:center!important}

@media(max-width:1100px){.community-utilities-page .cu-provider-list{grid-template-columns:1fr}.resident-shortcuts-v40{grid-template-columns:repeat(2,minmax(0,1fr))!important}.resident-profile-form-v65{grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:760px){body.tt-home #registerModal .resident-register-grid-v65 .field{min-height:101px!important}.resident-fund-strip-v65{grid-template-columns:1fr;gap:7px}.resident-fund-strip-v65>span:nth-child(2){display:none}.resident-fund-strip-v65>b{justify-self:start}.resident-shortcuts-v40{grid-template-columns:1fr!important}.resident-profile-form-v65{grid-template-columns:1fr}.resident-avatar-panel-v65{border-right:0;border-bottom:1px solid #e1e9e7}.resident-profile-grid-v65{grid-template-columns:1fr;padding:18px}.resident-profile-grid-v65 label.full{grid-column:auto}.resident-profile-actions-v65{grid-column:1;padding:0 18px 20px}.resident-terms-accept-v65{align-items:flex-start;flex-direction:column}.resident-terms-accept-v65 button{width:100%}.community-utilities-page .cu-provider-card{grid-template-columns:1fr;grid-template-areas:"main" "rating" "actions"}.community-utilities-page .cu-provider-rating{display:flex!important;gap:6px;text-align:left;align-items:center}.community-utilities-page .cu-provider-rating small{grid-column:auto}.community-utilities-page .cu-quick-actions{justify-content:flex-start}.community-utilities-page .cu-quick{flex:1;max-width:80px}body.tt-home .upcoming-event-feature{grid-template-columns:auto 78px minmax(0,1fr) 28px!important;gap:10px!important;padding:13px!important}.upcoming-date-v63>b{font-size:32px!important}.upcoming-copy strong{font-size:14px!important}.activity-meta-line{white-space:normal!important;flex-wrap:wrap!important}}
/* Explicit cover behaviour for every event/gallery thumbnail. */
.tt-v33-gallery-index .v33-album-card__media img,
.tt-v33-album-detail .v33-album-hero__cover img,
.tt-v33-album-detail .v33-photo-card>img,
.tt-v33-album-detail .v33-more-albums__grid>a>img,
.activity-journal-page img,
.tt-activity-page img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}

/* V73 — resident utility directory readability + balanced quick actions. */
.community-utilities-page .cu-provider-card{
  padding:16px 17px!important;
  border-radius:15px!important;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background-color .22s ease;
}
.community-utilities-page .cu-provider-card:hover{
  transform:translateY(-3px);
  border-color:#c9d9d4!important;
  box-shadow:0 16px 34px rgba(18,59,75,.09);
  background:#fffefb;
}
.community-utilities-page .cu-provider-main{gap:15px!important}
.community-utilities-page .cu-provider-icon{width:58px!important;height:58px!important;flex-basis:58px!important;border-radius:13px!important;font-size:29px!important;transition:transform .24s ease,box-shadow .24s ease}
.community-utilities-page .cu-provider-card:hover .cu-provider-icon{transform:scale(1.055) rotate(-1deg);box-shadow:0 8px 18px rgba(18,59,75,.08)}
.community-utilities-page .cu-provider-category{font-size:12px!important;line-height:1.3!important;letter-spacing:.055em!important}
.community-utilities-page .cu-provider-copy strong{font-size:18px!important;line-height:1.3!important}
.community-utilities-page .cu-provider-address{font-size:13px!important;line-height:1.45!important;color:#73858d!important}
.community-utilities-page .cu-provider-phone{font-size:14px!important;line-height:1.4!important;font-weight:750!important;color:#365664!important}
.community-utilities-page .cu-provider-price{font-size:13px!important;line-height:1.42!important;color:#98713b!important}
.community-utilities-page .cu-provider-rating{min-width:92px!important}
.community-utilities-page .cu-stars-static{font-size:18px!important}
.community-utilities-page .cu-provider-rating strong{font-size:17px!important}
.community-utilities-page .cu-provider-rating small{font-size:11px!important}
.community-utilities-page .cu-quick-actions{gap:7px!important;align-items:stretch}
.community-utilities-page .cu-quick{
  width:62px!important;height:52px!important;min-width:62px!important;
  border-radius:11px!important;font-size:17px!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease;
}
.community-utilities-page .cu-quick span{margin-top:2px!important;font-size:10px!important;line-height:1!important;font-weight:850!important}
.community-utilities-page .cu-quick.detail{font-size:22px!important}
.community-utilities-page .cu-quick:hover{transform:translateY(-2px);border-color:#aebfbc!important;box-shadow:0 8px 18px rgba(17,58,73,.1)}
.community-utilities-page .cu-quick.call:hover{background:#0d3042!important;border-color:#0d3042!important}
.community-utilities-page .cu-quick.zalo:hover{background:#eef7fd!important;border-color:#a9cee6!important}
.community-utilities-page .cu-quick.detail:hover{background:#f5f1e8!important;border-color:#d7c39d!important;color:#7c5c2b!important}
@media(max-width:760px){
  .community-utilities-page .cu-provider-card{padding:14px!important}
  .community-utilities-page .cu-provider-copy strong{font-size:17px!important;white-space:normal!important}
  .community-utilities-page .cu-provider-address,.community-utilities-page .cu-provider-phone,.community-utilities-page .cu-provider-price{font-size:12.5px!important}
  .community-utilities-page .cu-quick-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%}
  .community-utilities-page .cu-quick{width:100%!important;max-width:none!important;min-width:0!important;height:50px!important}
}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/tulip-v74-final.css */
/* TULIP TOWER V74 — resident registration, resident email/verification and utility slider polish */
body.tt-home #registerModal .resident-register-grid-v4849 .field{grid-template-rows:auto 54px auto!important;min-height:104px!important}
body.tt-home #registerModal .resident-valid-state-v74{min-height:18px;display:flex;align-items:center;gap:6px;color:#829197;font-size:11px;line-height:1.35;font-weight:650;opacity:.78;transition:color .18s ease,opacity .18s ease,transform .18s ease}
body.tt-home #registerModal .resident-valid-state-v74 b{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:#e7eceb;color:transparent;font-size:10px;line-height:1;transition:.18s ease}
body.tt-home #registerModal .resident-valid-state-v74.is-valid{color:#17734d;opacity:1;transform:translateY(-1px)}
body.tt-home #registerModal .resident-valid-state-v74.is-valid b{background:#1d9867;color:#fff;box-shadow:0 4px 12px rgba(29,152,103,.2)}
body.tt-home #registerModal .field.has-error-v64 .resident-valid-state-v74{display:none}
body.tt-home #registerModal input:valid:not(:placeholder-shown){border-color:rgba(29,152,103,.36)}
body.tt-home #registerModal .resident-register-username-v73 input{text-transform:lowercase}

.resident-register-success-modal-v74{z-index:10040!important}
.resident-register-success-dialog-v74{position:relative!important;width:min(520px,calc(100vw - 32px))!important;padding:38px 38px 34px!important;text-align:center!important;overflow:visible!important;border-radius:26px!important;background:linear-gradient(180deg,#fff 0%,#fbfcfb 100%)!important;box-shadow:0 28px 80px rgba(7,35,50,.24)!important}
.resident-register-success-close-v74{position:absolute!important;right:18px!important;top:16px!important}
.resident-register-success-icon-v74{width:68px;height:68px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;background:linear-gradient(145deg,#1b8d61,#29ad79);color:#fff;font-size:34px;font-weight:900;box-shadow:0 14px 34px rgba(31,153,104,.24)}
.resident-register-success-dialog-v74 h3{margin:8px auto 10px;color:#153a4b;font-size:28px;line-height:1.18}
.resident-register-success-dialog-v74>p{max-width:420px;margin:0 auto;color:#687d86;font-size:15px;line-height:1.7}
.resident-register-success-mail-v74{margin:20px auto 0;padding:13px 15px;border-radius:14px;background:#edf8f3;border:1px solid #cfe9dc;color:#226b50;text-align:left;display:grid;gap:3px;font-size:13px}
.resident-register-success-mail-v74.is-warning{background:#fff7e7;border-color:#efdfb7;color:#8b662c}
.resident-register-success-actions-v74{display:flex;justify-content:center;gap:10px;margin-top:24px}
.resident-register-success-actions-v74 .btn{min-width:150px;min-height:46px;border-radius:12px;border:1px solid #dbe5e7;background:#fff;color:#173e50;font-weight:800}
.resident-register-success-actions-v74 .btn.submit{background:#153f50;color:#fff;border-color:#153f50}

.resident-auth-v4836__alert.is-success{font-size:16px!important;line-height:1.65!important;padding:16px 18px!important;border-radius:14px!important;font-weight:700!important;background:#eaf7f0!important;border:1px solid #cce9da!important;color:#1e704e!important;box-shadow:0 8px 22px rgba(31,112,78,.08)}

.home-utility-head-actions-v74{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.home-utility-nav-v74{display:flex;align-items:center;gap:7px}
.home-utility-nav-v74 button{width:40px;height:40px;border-radius:50%;border:1px solid rgba(23,56,76,.14);background:#fff;color:#17384c;display:grid;place-items:center;cursor:pointer;box-shadow:0 7px 20px rgba(23,56,76,.06);transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.home-utility-nav-v74 button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.home-utility-nav-v74 button:hover{transform:translateY(-2px);background:#17384c;color:#fff;border-color:#17384c}
.home-utility-view-all-v74{display:inline-flex!important;align-items:center;gap:8px!important;min-height:42px;padding:10px 16px!important;border:1px solid rgba(23,56,76,.14)!important;border-radius:999px!important;background:#fff!important;color:#17384c!important;text-decoration:none!important;font-size:12px!important;font-weight:850!important;white-space:nowrap;box-shadow:0 7px 20px rgba(23,56,76,.05);transition:.2s ease!important}
.home-utility-view-all-v74 b{font-size:16px;line-height:1}
.home-utility-view-all-v74:hover{background:#17384c!important;color:#fff!important;transform:translateY(-1px)}
.home-utility-category-track-v71{scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}

@media(max-width:760px){
  body.tt-home #registerModal .resident-register-grid-v4849 .field{min-height:101px!important}
  .resident-register-success-dialog-v74{padding:34px 20px 24px!important;border-radius:22px!important}
  .resident-register-success-dialog-v74 h3{font-size:24px}
  .resident-register-success-actions-v74{display:grid;grid-template-columns:1fr 1fr}
  .resident-register-success-actions-v74 .btn{min-width:0}
  .home-utilities-head-v60{align-items:end!important}
  .home-utility-head-actions-v74{gap:7px}
  .home-utility-nav-v74 button{width:36px;height:36px}
  .home-utility-view-all-v74{min-height:38px;padding:8px 12px!important;font-size:10.5px!important}
  .home-utility-category-track-v71{scroll-behavior:auto!important;scroll-snap-type:x proximity!important;touch-action:pan-x pan-y!important;will-change:auto!important}
}
@media(max-width:520px){
  .home-utilities-head-v60{display:flex!important;align-items:flex-end!important;gap:10px!important}
  .home-utilities-head-v60>div:first-child{flex:1;min-width:0}
  .home-utility-head-actions-v74{display:grid;grid-template-columns:auto 1fr;gap:6px}
  .home-utility-nav-v74{grid-column:1;gap:5px}
  .home-utility-nav-v74 button{width:34px;height:34px}
  .home-utility-view-all-v74{grid-column:2;min-height:34px;padding:7px 10px!important;font-size:10px!important}
}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/tulip-v75-final.css */
/* 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}
}

/* bundled: tulip_source/domains/tuliptower.com.vn/public_html/public/tulip/assets/css/tulip-v76-final.css */
/* TULIP TOWER V76 — admin/UI follow-up polish */

/* Terms popup — professional reading frame, clearer punctuation rhythm and section hierarchy. */
#residentTermsModal.resident-terms-modal-v4861{padding:30px!important;background:rgba(5,27,39,.54)!important;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
#residentTermsModal .resident-terms-dialog-v4861{width:min(1020px,calc(100vw - 60px))!important;padding:0!important;overflow:hidden!important;border:1px solid rgba(20,62,80,.13)!important;border-radius:28px!important;background:#fff!important;box-shadow:0 42px 120px rgba(3,28,43,.36)!important}
#residentTermsModal .resident-terms-head-v4861{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:24px!important;margin:0!important;padding:29px 34px 23px!important;border-bottom:1px solid #e5ecea!important;background:linear-gradient(180deg,#fffdfa 0%,#fbfdfc 100%)!important}
#residentTermsModal .resident-terms-head-v4861>div{padding-right:8px!important}
#residentTermsModal .resident-terms-head-v4861 h3{margin:4px 0 8px!important;font-size:31px!important;line-height:1.18!important;letter-spacing:-.018em!important}
#residentTermsModal .resident-terms-head-v4861 p{max-width:760px!important;margin:0!important;color:#687f89!important;font-size:14.5px!important;line-height:1.65!important}
#residentTermsModal .resident-terms-head-v4861 .close{display:grid!important;place-items:center!important;flex:0 0 40px!important;width:40px!important;height:40px!important;margin:0!important;padding:0!important;border:1px solid #dce6e4!important;border-radius:50%!important;background:#fff!important;color:#244c5e!important;font:400 24px/1 Arial,sans-serif!important;box-shadow:0 6px 18px rgba(14,55,72,.06)!important;transition:.2s ease!important}
#residentTermsModal .resident-terms-head-v4861 .close:hover{transform:rotate(5deg)!important;border-color:#c9a86d!important;background:#f8f3e9!important;color:#7e5a29!important}
#residentTermsModal .resident-terms-popup-content-v4861{box-sizing:border-box!important;max-width:none!important;margin:22px 34px 0!important;padding:24px 27px!important;border:1px solid #e1e9e7!important;border-radius:18px!important;background:linear-gradient(180deg,#fff 0%,#fcfdfd 100%)!important;color:#405966!important;font-size:15px!important;line-height:1.78!important;letter-spacing:0!important;word-spacing:.015em!important;text-align:left!important;font-kerning:normal!important;text-rendering:optimizeLegibility!important;overflow-wrap:break-word!important}
#residentTermsModal .resident-terms-popup-content-v4861>br:first-child,#residentTermsModal .resident-terms-popup-content-v4861>br:last-child{display:none!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{position:relative!important;margin:26px 0 10px!important;padding:0 0 9px!important;border-bottom:1px solid #edf1f0!important;color:#173d50!important;font-weight:760!important;line-height:1.35!important;letter-spacing:-.008em!important}
#residentTermsModal .resident-terms-popup-content-v4861 h1:first-child,#residentTermsModal .resident-terms-popup-content-v4861 h2:first-child,#residentTermsModal .resident-terms-popup-content-v4861 h3:first-child,#residentTermsModal .resident-terms-popup-content-v4861 h4:first-child{margin-top:0!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 14px!important;color:#4f6773!important;font-size:15px!important;line-height:1.78!important;letter-spacing:0!important;word-spacing:.015em!important;text-align:left!important}
#residentTermsModal .resident-terms-popup-content-v4861 p:last-child{margin-bottom:0!important}
#residentTermsModal .resident-terms-popup-content-v4861 ul,#residentTermsModal .resident-terms-popup-content-v4861 ol{margin:9px 0 18px!important;padding:0 0 0 24px!important;color:#4f6773!important}
#residentTermsModal .resident-terms-popup-content-v4861 li{margin:7px 0!important;padding-left:3px!important;line-height:1.72!important}
#residentTermsModal .resident-terms-popup-content-v4861 strong{color:#294d5d!important;font-weight:780!important}
#residentTermsModal .resident-terms-popup-content-v4861 hr{margin:22px 0!important;border:0!important;border-top:1px solid #e5ecea!important}
#residentTermsModal .resident-terms-popup-content-v4861 blockquote{margin:18px 0!important;padding:13px 16px!important;border:1px solid #eadfc9!important;border-left:4px solid #d1ad68!important;border-radius:0 12px 12px 0!important;background:#fbf7ef!important;color:#526b75!important;line-height:1.7!important}
#residentTermsModal .resident-terms-popup-content-v4861 a{color:#8d652d!important;font-weight:650!important;text-decoration-thickness:1px!important;text-underline-offset:3px!important}
#residentTermsModal .resident-terms-popup-footer-v4861{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin:0!important;padding:18px 34px 24px!important;border-top:0!important;color:#7b8d95!important;background:#fff!important}
#residentTermsModal .resident-terms-footer-note-v76{font-size:12px!important;line-height:1.45!important}
#residentTermsModal .resident-terms-done-v4861{min-width:132px!important;min-height:43px!important;border-radius:12px!important;box-shadow:0 8px 20px rgba(9,52,73,.12)!important}

/* Utilities — rebuild all arrows as centered SVG controls. */
body.tt-home .home-utility-head-actions-v74{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;min-width:0!important}
body.tt-home .home-utility-nav-v74{display:flex!important;align-items:center!important;gap:8px!important}
body.tt-home .home-utility-nav-v74 button{appearance:none!important;display:grid!important;place-items:center!important;box-sizing:border-box!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;margin:0!important;padding:0!important;border:1px solid rgba(21,60,78,.14)!important;border-radius:50%!important;background:linear-gradient(180deg,#fff,#f9fbfa)!important;color:#173d51!important;box-shadow:0 8px 22px rgba(19,56,76,.08)!important;line-height:0!important;overflow:hidden!important;transform:none!important}
body.tt-home .home-utility-nav-v74 button svg{display:block!important;width:16px!important;height:16px!important;margin:0!important;fill:none!important;stroke:currentColor!important;stroke-width:2.15!important;stroke-linecap:round!important;stroke-linejoin:round!important;transform:none!important}
body.tt-home .home-utility-nav-v74 button:hover{transform:translateY(-2px)!important;border-color:#173d51!important;background:#173d51!important;color:#f0d39b!important;box-shadow:0 10px 25px rgba(19,56,76,.16)!important}
body.tt-home .home-utility-view-all-v74{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-height:44px!important;margin:0!important;padding:8px 10px 8px 16px!important;border:1px solid rgba(21,60,78,.14)!important;border-radius:999px!important;background:linear-gradient(180deg,#fff,#fbfcfc)!important;color:#173d51!important;box-shadow:0 8px 22px rgba(19,56,76,.07)!important;font-size:11.5px!important;font-weight:820!important;line-height:1!important;text-decoration:none!important;white-space:nowrap!important;transition:.22s ease!important}
body.tt-home .home-utility-view-all-icon-v76{display:grid!important;place-items:center!important;width:27px!important;height:27px!important;min-width:27px!important;min-height:27px!important;margin:0!important;border-radius:50%!important;background:#edf3f1!important;color:#173d51!important;line-height:0!important;transition:.22s ease!important}
body.tt-home .home-utility-view-all-icon-v76 svg{display:block!important;width:13px!important;height:13px!important;margin:0!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
body.tt-home .home-utility-view-all-v74:hover{transform:translateY(-2px)!important;border-color:#173d51!important;background:#173d51!important;color:#fff!important;box-shadow:0 11px 27px rgba(19,56,76,.15)!important}
body.tt-home .home-utility-view-all-v74:hover .home-utility-view-all-icon-v76{transform:translateX(2px)!important;background:#e4c58c!important;color:#173d51!important}
body.tt-home .home-utility-category-arrow-v69{display:grid!important;place-items:center!important;box-sizing:border-box!important;right:9px!important;top:9px!important;width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;margin:0!important;padding:0!important;border:1px solid rgba(21,60,78,.12)!important;border-radius:50%!important;background:rgba(255,255,255,.9)!important;color:#9d773e!important;line-height:0!important;overflow:hidden!important;transform:none!important;box-shadow:0 4px 12px rgba(18,54,71,.05)!important}
body.tt-home .home-utility-category-arrow-v69 svg{display:block!important;width:11px!important;height:11px!important;margin:0!important;fill:none!important;stroke:currentColor!important;stroke-width:2.1!important;stroke-linecap:round!important;stroke-linejoin:round!important;transform:none!important}
body.tt-home .home-utility-category-v69:hover .home-utility-category-arrow-v69{transform:none!important;border-color:#173d51!important;background:#173d51!important;color:#f0d39b!important}

/* Activity/album slide on mobile — card aligns to the container, no clipped left border. */
@media(max-width:760px){
  #residentTermsModal.resident-terms-modal-v4861{padding:10px!important}
  #residentTermsModal .resident-terms-dialog-v4861{width:100%!important;max-width:100%!important;border-radius:22px!important}
  #residentTermsModal .resident-terms-head-v4861{gap:12px!important;padding:20px 18px 16px!important}
  #residentTermsModal .resident-terms-head-v4861 h3{font-size:25px!important;line-height:1.2!important}
  #residentTermsModal .resident-terms-head-v4861 p{font-size:13.5px!important;line-height:1.6!important}
  #residentTermsModal .resident-terms-head-v4861 .close{flex-basis:36px!important;width:36px!important;height:36px!important;font-size:22px!important}
  #residentTermsModal .resident-terms-popup-content-v4861{margin:14px 14px 0!important;padding:18px 16px!important;border-radius:15px!important;font-size:14px!important;line-height:1.72!important}
  #residentTermsModal .resident-terms-popup-content-v4861 p{font-size:14px!important;line-height:1.72!important;margin-bottom:12px!important}
  #residentTermsModal .resident-terms-popup-content-v4861 h2{font-size:18px!important}#residentTermsModal .resident-terms-popup-content-v4861 h3{font-size:16.5px!important}#residentTermsModal .resident-terms-popup-content-v4861 h4{font-size:15px!important}
  #residentTermsModal .resident-terms-popup-footer-v4861{padding:15px 14px 18px!important;align-items:flex-start!important}
  #residentTermsModal .resident-terms-footer-note-v76{font-size:10.5px!important;line-height:1.45!important}
  #residentTermsModal .resident-terms-done-v4861{min-width:104px!important;min-height:39px!important;padding:9px 12px!important;font-size:12px!important}

  body.tt-home .home-utility-head-actions-v74{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;width:100%!important;gap:8px!important;align-items:center!important}
  body.tt-home .home-utility-nav-v74{grid-column:1!important;gap:6px!important}
  body.tt-home .home-utility-nav-v74 button{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
  body.tt-home .home-utility-nav-v74 button svg{width:14px!important;height:14px!important}
  body.tt-home .home-utility-view-all-v74{grid-column:2!important;justify-self:end!important;min-height:36px!important;padding:5px 6px 5px 11px!important;gap:7px!important;font-size:9.8px!important}
  body.tt-home .home-utility-view-all-icon-v76{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important}
  body.tt-home .home-utility-view-all-icon-v76 svg{width:11px!important;height:11px!important}
  body.tt-home .home-utility-category-arrow-v69{right:6px!important;top:6px!important;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important}
  body.tt-home .home-utility-category-arrow-v69 svg{width:9px!important;height:9px!important}

  body.tt-home #activities .activity-wrap{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0 1px!important;overflow:hidden!important}
  body.tt-home #activities .activity-slider{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;overflow:hidden!important;border-radius:20px!important}
  body.tt-home #activities .activity-track{box-sizing:border-box!important;width:100%!important;max-width:none!important;gap:11px!important;margin:0!important;padding:2px 0 4px!important;align-items:stretch!important}
  body.tt-home #activities .activity-card{box-sizing:border-box!important;flex:0 0 100%!important;width:100%!important;max-width:100%!important;min-width:100%!important;min-height:380px!important;margin:0!important;border:1px solid rgba(21,60,78,.12)!important;border-radius:20px!important;background-clip:padding-box!important;box-shadow:0 16px 34px rgba(12,46,64,.11)!important;overflow:hidden!important;scroll-snap-align:start!important}
  body.tt-home #activities .activity-card .activity-content{box-sizing:border-box!important;width:100%!important;padding:22px 20px 20px!important}
  body.tt-home #activities .activity-nav{justify-content:center!important;gap:9px!important;margin-top:14px!important}
  body.tt-home #activities .activity-nav .arrow-btn{display:grid!important;place-items:center!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;margin:0!important;padding:0!important;border-radius:50%!important;line-height:0!important;overflow:hidden!important}
  body.tt-home #activities .activity-nav .arrow-btn .tt-arrow-icon{display:block!important;width:15px!important;height:15px!important;margin:0!important;transform:none!important}
}

@media(max-width:390px){
  body.tt-home .home-utility-nav-v74 button{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important}
  body.tt-home .home-utility-view-all-v74{font-size:9.2px!important;padding-left:9px!important}
  body.tt-home #activities .activity-card{min-height:352px!important;border-radius:18px!important}
  body.tt-home #activities .activity-card .activity-content{padding:19px 17px 18px!important}
}

/* ========================================================================
   V77 — Terms viewport safety + resident fund return control
   ======================================================================== */
#residentTermsModal.resident-terms-modal-v4861{
  place-items:center!important;
  align-items:center!important;
  justify-items:center!important;
  padding:clamp(10px,2.5vh,28px)!important;
  overflow:hidden!important;
}
#residentTermsModal .resident-terms-dialog-v4861{
  display:flex!important;
  flex-direction:column!important;
  width:min(980px,calc(100vw - 48px))!important;
  max-width:980px!important;
  max-height:min(90dvh,880px)!important;
  margin:auto!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(16,58,76,.13)!important;
  border-radius:26px!important;
  background:#fffdfa!important;
  box-shadow:0 34px 100px rgba(4,28,42,.32)!important;
}
#residentTermsModal .resident-terms-head-v4861{
  flex:0 0 auto!important;
  margin:0!important;
  padding:24px 28px 19px!important;
  border-bottom:1px solid #e5ecea!important;
  background:linear-gradient(180deg,#fffdfa 0%,#fbf9f4 100%)!important;
}
#residentTermsModal .resident-terms-head-v4861>div{padding-right:10px!important}
#residentTermsModal .resident-terms-head-v4861 h3{margin:4px 0 7px!important}
#residentTermsModal .resident-terms-head-v4861 p{margin:0!important}
#residentTermsModal .resident-terms-popup-content-v4861{
  flex:1 1 auto!important;
  min-height:0!important;
  max-width:none!important;
  margin:16px 18px 0!important;
  padding:22px 25px 24px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  border:1px solid #e2e9e7!important;
  border-radius:16px!important;
  background:#fff!important;
  color:#405a69!important;
  scrollbar-width:thin!important;
  scrollbar-color:#9aabae #f0f4f3!important;
}
#residentTermsModal .resident-terms-popup-content-v4861::-webkit-scrollbar{width:8px!important}
#residentTermsModal .resident-terms-popup-content-v4861::-webkit-scrollbar-track{background:#f0f4f3!important;border-radius:999px!important}
#residentTermsModal .resident-terms-popup-content-v4861::-webkit-scrollbar-thumb{background:#9aabae!important;border:2px solid #f0f4f3!important;border-radius:999px!important}
#residentTermsModal .resident-terms-popup-content-v4861 p{margin:0 0 13px!important;line-height:1.78!important}
#residentTermsModal .resident-terms-popup-content-v4861 p+p{margin-top:5px!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{margin:24px 0 9px!important;line-height:1.32!important}
#residentTermsModal .resident-terms-popup-content-v4861 h1:first-child,
#residentTermsModal .resident-terms-popup-content-v4861 h2:first-child,
#residentTermsModal .resident-terms-popup-content-v4861 h3:first-child,
#residentTermsModal .resident-terms-popup-content-v4861 h4:first-child{margin-top:0!important}
#residentTermsModal .resident-terms-popup-content-v4861 ul,
#residentTermsModal .resident-terms-popup-content-v4861 ol{margin:10px 0 17px!important;padding-left:25px!important}
#residentTermsModal .resident-terms-popup-content-v4861 li{margin:6px 0!important;line-height:1.68!important}
#residentTermsModal .resident-terms-popup-content-v4861 hr{margin:20px 0!important;border:0!important;border-top:1px solid #e4ebe9!important}
#residentTermsModal .resident-terms-popup-footer-v77{
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:16px!important;
  margin:0!important;
  padding:16px 20px 19px!important;
  border-top:0!important;
  background:#fffdfa!important;
}
#residentTermsModal .resident-terms-popup-consent-v77{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-width:0!important;
  margin:0!important;
  padding:11px 13px!important;
  border:1px solid #dce6e3!important;
  border-radius:13px!important;
  background:#f5f8f7!important;
  color:#314f5f!important;
  font-size:13px!important;
  font-weight:700!important;
  letter-spacing:0!important;
  line-height:1.35!important;
  text-transform:none!important;
  cursor:pointer!important;
}
#residentTermsModal .resident-terms-popup-consent-v77 input{
  flex:0 0 auto!important;
  width:20px!important;
  height:20px!important;
  margin:0!important;
  accent-color:#173f52!important;
}
#residentTermsModal .resident-terms-popup-consent-v77 span{display:grid!important;gap:2px!important;min-width:0!important}
#residentTermsModal .resident-terms-popup-consent-v77 strong{color:#23485a!important;font-size:13px!important;font-weight:850!important}
#residentTermsModal .resident-terms-popup-consent-v77 small{color:#7b8d94!important;font-size:10.5px!important;font-weight:550!important;line-height:1.4!important}
#residentTermsModal .resident-terms-accept-v77{
  min-width:142px!important;
  min-height:44px!important;
  margin:0!important;
  padding:10px 15px!important;
  border:0!important;
  border-radius:12px!important;
  background:#173f52!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1.15!important;
  transition:.2s ease!important;
}
#residentTermsModal .resident-terms-accept-v77:not(:disabled):hover{transform:translateY(-1px)!important;background:#0d3142!important;color:#efd39d!important}
#residentTermsModal .resident-terms-accept-v77:disabled{opacity:.42!important;cursor:not-allowed!important;box-shadow:none!important}

/* Community Fund: a clear return path to the resident portal after the sidebar disappears. */
.resident-fund-return-v77{position:relative;z-index:5;display:flex;justify-content:flex-start;margin:-18px 26px 8px!important;pointer-events:none}
.resident-fund-return-v77 a{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 13px;border:1px solid rgba(20,58,75,.12);border-radius:999px;background:#fff;color:#355564!important;box-shadow:0 10px 28px rgba(14,46,64,.10);font-size:12px;font-weight:800;text-decoration:none;transition:.2s ease}
.resident-fund-return-v77 a>span:first-child{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#edf3f1;color:#173f52;font-size:15px;line-height:1}
.resident-fund-return-v77 a:hover{transform:translateY(-1px);border-color:#173f52;background:#173f52;color:#fff!important}
.resident-fund-return-v77 a:hover>span:first-child{background:#e4c58c;color:#173f52}
.resident-fund-return-v77+.resident-fund-nav{margin:0 26px 34px!important}

@media(max-width:700px){
  #residentTermsModal.resident-terms-modal-v4861{padding:8px!important;align-items:center!important}
  #residentTermsModal .resident-terms-dialog-v4861{width:100%!important;max-width:100%!important;max-height:calc(100dvh - 16px)!important;border-radius:19px!important}
  #residentTermsModal .resident-terms-head-v4861{padding:18px 16px 14px!important}
  #residentTermsModal .resident-terms-head-v4861 h3{font-size:23px!important;line-height:1.18!important}
  #residentTermsModal .resident-terms-head-v4861 p{font-size:13px!important;line-height:1.5!important}
  #residentTermsModal .resident-terms-popup-content-v4861{margin:10px 10px 0!important;padding:17px 15px 19px!important;border-radius:13px!important;font-size:13.5px!important;line-height:1.7!important}
  #residentTermsModal .resident-terms-popup-content-v4861 p{font-size:13.5px!important;line-height:1.72!important}
  #residentTermsModal .resident-terms-popup-footer-v77{grid-template-columns:1fr!important;gap:9px!important;padding:10px 10px 13px!important}
  #residentTermsModal .resident-terms-popup-consent-v77{padding:10px 11px!important}
  #residentTermsModal .resident-terms-accept-v77{width:100%!important;min-height:43px!important}
  .resident-fund-return-v77{margin:-12px 10px 7px!important}
  .resident-fund-return-v77 a{min-height:36px;padding:7px 11px;font-size:11px}
  .resident-fund-return-v77+.resident-fund-nav{margin:0 10px 25px!important}
}
.resident-fund-return-v77.is-detail{margin:0 0 10px!important}
.resident-fund-return-v77.is-detail+.resident-fund-nav{margin:0 0 24px!important}
@media(max-width:700px){.resident-fund-return-v77.is-detail{margin:0 0 8px!important}.resident-fund-return-v77.is-detail+.resident-fund-nav{margin:0 0 20px!important}}
