:root{--primary:#173f4f;--accent:#8c3d48;--ink:#17242a;--muted:#66747a;--line:#e4ded5;--paper:#fff;--soft:#f7f3ee}
body{font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.65}
a{color:var(--primary);text-decoration:none}
.topbar{background:#f4eee7;color:#42535a;font-size:14px;padding:9px 0;border-bottom:1px solid var(--line)}
.topbar span{margin-left:18px}
.site-header{background:rgba(255,255,255,.96);border-bottom:1px solid #ece7df;backdrop-filter:blur(10px)}
.navbar-brand img{height:54px;width:auto}
.nav-link{font-weight:600;color:#273940!important;margin:0 5px}
.btn{border-radius:6px;font-weight:700;padding:.72rem 1.05rem}
.btn-primary{background:var(--primary);border-color:var(--primary)}
.btn-primary:hover{background:#0f2d39;border-color:#0f2d39}
.btn-outline-primary{color:var(--primary);border-color:var(--primary)}
.btn-outline-primary:hover{background:var(--primary);border-color:var(--primary)}
.section{padding:84px 0}
.section-soft{background:var(--soft)}
.section-title{max-width:760px;margin-bottom:34px}
.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:800}
h1,h2,h3{letter-spacing:0;font-weight:800;color:#142a31}
h1{font-size:clamp(2rem,4vw,4.25rem);line-height:1.08}
h2{font-size:clamp(1.7rem,3vw,2.6rem)}
.hero{position:relative;min-height:680px;display:flex;align-items:end;background:#182a30;color:#fff;overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,35,42,.88),rgba(15,35,42,.56),rgba(15,35,42,.18))}
.hero-content{position:relative;z-index:1;max-width:840px;padding:0 0 92px}
.hero h1,.hero p{color:#fff}
.hero p{font-size:1.18rem;max-width:680px}
.info-strip{margin-top:-54px;position:relative;z-index:3}
.info-item{background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px;min-height:170px;height:100%;box-shadow:0 14px 34px rgba(23,63,79,.08);display:flex;flex-direction:column;align-items:flex-start}
.info-item i{font-size:28px;color:var(--accent);width:34px;height:34px;display:flex;align-items:center;margin-bottom:14px}
.info-item h3{min-height:38px;margin-bottom:8px}
.apartment-card,.plain-card{border:1px solid var(--line);border-radius:8px;background:#fff;height:100%;overflow:hidden;display:flex;flex-direction:column}
.apartment-card img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#f6f1ea}
.apartment-card .body,.plain-card{padding:24px;display:flex;flex-direction:column;flex:1}
.apartment-card h3{min-height:68px}
.apartment-card p{flex:1}
.feature-list{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.feature-list li{background:#f4eee7;border-radius:999px;padding:6px 12px;font-size:13px;color:#45565d}
.amenity{padding:26px;border:1px solid var(--line);border-radius:8px;min-height:164px;height:100%;background:#fff;display:flex;flex-direction:column;align-items:flex-start}
.amenity i{font-size:28px;color:var(--primary);width:34px;height:34px;display:flex;align-items:center;margin-bottom:14px}
.amenity h3{min-height:38px;margin-bottom:8px}
.amenity p{margin-bottom:0}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gallery-grid img{width:100%;aspect-ratio:1.25/1;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.home-video-section{padding-top:72px;padding-bottom:72px}
.home-video-frame{position:relative;width:100%;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#173f4f;box-shadow:0 18px 44px rgba(23,63,79,.16)}
.home-video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:contain;background:#000}
.article-card{border-bottom:1px solid var(--line);padding:22px 0}
.fee-card{border:1px solid var(--line);border-radius:8px;background:#fff;padding:26px;min-height:250px;height:100%;display:flex;flex-direction:column;gap:14px}
.fee-card h2{font-size:1.45rem;margin:8px 0 0}
.fee-card p{margin-bottom:0}
.fee-period{color:var(--muted)}
.fee-price{font-size:2rem;line-height:1.15;color:var(--primary)}
.fee-hero{background:#173f4f;color:#fff;padding:46px 0 38px}
.fee-hero-inner{max-width:780px}
.fee-hero h1{color:#fff;font-size:clamp(1.7rem,3vw,2.65rem);margin:6px 0}
.fee-hero p{color:#f4eee7;font-size:.98rem;max-width:720px;margin-bottom:0}
.fee-hero .eyebrow{color:#f0c9b1}
.fee-hero-period{font-weight:800;text-transform:uppercase;font-size:1rem!important}
.fee-alert-band{background:#8c3d48;color:#fff;padding:16px 0}
.fee-alert-band p{margin:5px 0 0;font-size:.92rem;line-height:1.55}
.fee-info-card,.fee-small-card,.fee-apartment-card{background:#fff;border:1px solid var(--line);border-radius:8px;height:100%}
.fee-info-card{padding:22px}
.fee-info-title{display:flex;gap:10px;align-items:center;margin-bottom:12px}
.fee-info-title i{font-size:21px;color:var(--primary)}
.fee-info-title h2{font-size:1.18rem;margin:0}
.fee-info-card ol,.fee-small-card ol{padding-left:18px;margin:0}
.fee-info-card li,.fee-small-card li{margin-bottom:6px;font-size:.92rem;line-height:1.48}
.fee-services-card{background:#f9f6f1}
.fee-apartment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.fee-apartment-card{overflow:hidden;display:flex;flex-direction:column}
.fee-apartment-head{padding:18px 20px 14px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbf8f4)}
.fee-apartment-head h3{font-size:1.25rem;margin:0 0 7px;color:var(--primary);letter-spacing:.02em;text-transform:uppercase}
.fee-apartment-head p{margin:0;color:#51646b;font-weight:700;font-size:.9rem;line-height:1.4}
.fee-table-wrap{overflow-x:auto}
.fee-table{width:100%;border-collapse:collapse}
.fee-table th,.fee-table td{padding:11px 13px;border-bottom:1px solid var(--line);vertical-align:top}
.fee-table th{font-size:12px;text-transform:uppercase;color:#263a41;background:#f2ece4;letter-spacing:.035em;font-weight:900}
.fee-table td{font-size:.92rem;line-height:1.42}
.fee-table td:nth-child(2),.fee-table td:nth-child(3){white-space:nowrap;font-weight:800;color:#173f4f}
.fee-note{margin:14px 20px 20px;padding:12px 14px;border-left:4px solid var(--accent);background:#fbf1ef;color:#5d2d34;font-weight:700;font-size:.92rem;line-height:1.45}
.fee-note-wide{margin:18px 0 0}
.fee-small-card{padding:22px}
.fee-small-card h2{font-size:1.15rem;margin-bottom:12px}
.fee-contact-band{background:#173f4f;color:#fff;padding:30px 0}
.fee-contact-band .container{display:flex;justify-content:space-between;gap:30px;align-items:center}
.fee-contact-band h2,.fee-contact-band p{color:#fff}
.fee-contact-band p{margin:6px 0 0;font-size:.95rem;line-height:1.55}
.fee-contact-band .eyebrow{color:#f0c9b1}
.fee-contact-actions{display:flex;gap:10px;flex-wrap:wrap}
.page-hero{background:var(--soft);padding:76px 0;border-bottom:1px solid var(--line)}
.form-panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:30px}
.form-control,.form-select{border-radius:6px;border-color:#d8d0c6;padding:.78rem .9rem}
.map-frame iframe{width:100%;min-height:360px;border:0;border-radius:8px}
.site-footer{background:#f0e8df;padding:58px 0 22px;margin-top:40px}
.site-footer h2{font-size:1rem;margin-bottom:16px}
.site-footer a{display:block;margin-bottom:8px;color:#263a41}
.footer-logo{height:58px;margin-bottom:18px}
.footer-bottom{border-top:1px solid #ddd0c4;margin-top:34px;padding-top:18px;color:#65737a;font-size:14px}
.whatsapp-float{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;background:#1fae59;color:#fff;align-items:center;justify-content:center;font-size:28px;z-index:20;box-shadow:0 14px 28px rgba(0,0,0,.18)}
.ad-popup{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;background:rgba(20,42,49,.58);padding:12px}
.ad-popup.is-visible{display:flex}
.ad-popup-dialog{position:relative;width:calc(100vw - 24px);height:calc(100vh - 24px);display:flex;align-items:center;justify-content:center}
.ad-popup-dialog a{display:flex;width:100%;height:100%;align-items:center;justify-content:center}
.ad-popup-dialog img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 24px 70px rgba(0,0,0,.24)}
.ad-popup-close{position:fixed;right:14px;top:14px;width:34px;height:34px;border:0;border-radius:50%;background:#fff;color:#142a31;font-size:28px;line-height:30px;display:flex;align-items:center;justify-content:center;z-index:2147483001;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.mobile-actionbar{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);z-index:30}
.mobile-actionbar a{padding:8px 4px;text-align:center;color:#20343b;font-size:12px}
.mobile-actionbar i{display:block;font-size:19px}
.install-body{background:var(--soft)}
.install-panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:34px}
.install-logo{height:64px;margin-bottom:24px}
.admin-shell{min-height:100vh;background:#f6f3ef}
.admin-sidebar{background:#143642;color:#fff;min-height:100vh;padding:22px;position:sticky;top:0}
.admin-sidebar a{display:block;color:#dbe8eb;padding:10px 12px;border-radius:6px;margin-bottom:3px}
.admin-sidebar a:hover,.admin-sidebar .active{background:rgba(255,255,255,.12);color:#fff}
.admin-main{padding:24px}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px}
.table-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px}
@media (max-width:991px){body{padding-bottom:58px}.hero{min-height:600px}.hero-content{padding-bottom:70px}.section{padding:58px 0}.gallery-grid{grid-template-columns:repeat(2,1fr)}.navbar-brand img{height:46px}.admin-sidebar{min-height:auto;position:relative}.admin-main{padding:16px}.fee-apartment-grid{grid-template-columns:1fr}.fee-contact-band .container{display:block}.fee-contact-actions{margin-top:20px}}
@media (max-width:575px){.gallery-grid{grid-template-columns:1fr}.home-video-section{padding-top:48px;padding-bottom:48px}.home-video-frame{aspect-ratio:4/3}.form-panel{padding:20px}.info-strip{margin-top:0}.hero{min-height:540px}.fee-hero{padding:34px 0 30px}.fee-hero h1{font-size:1.55rem}.fee-hero p{font-size:.9rem}.fee-alert-band{padding:13px 0}.fee-alert-band p{font-size:.84rem}.fee-info-card,.fee-small-card{padding:18px}.fee-info-title h2{font-size:1.08rem}.fee-info-card li,.fee-small-card li{font-size:.88rem}.fee-table,.fee-table thead,.fee-table tbody,.fee-table th,.fee-table td,.fee-table tr{display:block}.fee-table thead{display:none}.fee-table tr{padding:11px 14px;border-bottom:1px solid var(--line)}.fee-table td{border:0;padding:5px 0;white-space:normal!important;font-size:.9rem}.fee-table td:before{content:attr(data-label);display:block;font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:900;margin-bottom:1px}.fee-apartment-head{padding:16px}.fee-apartment-head h3{font-size:1.08rem}.fee-apartment-head p{font-size:.82rem}.fee-note{margin:12px 16px 16px;font-size:.86rem}.fee-note-wide{margin:14px 0 0}.fee-contact-band{padding:24px 0}}
