:root{
  --bg:#070B20;
  --bg-soft:#0C1230;
  --panel:#101635;
  --ink:#E3E6EB;
  --ink-dim:rgba(227,230,235,0.66);
  --ink-faint:rgba(227,230,235,0.4);
  --accent:#3EA094;
  --accent-soft:rgba(62,160,148,0.16);
  --line:rgba(227,230,235,0.16);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:'Manrope',sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
img,svg{display:block;max-width:100%;}
button{font-family:inherit;background:none;border:none;color:inherit;cursor:pointer;}
.mono{font-family:'IBM Plex Mono',monospace;letter-spacing:0.08em;text-transform:uppercase;}
.wrap{max-width:1280px;margin:0 auto;padding:0 52px;width:100%;}
@media(max-width:700px){.wrap{padding:0 24px;}}

/* ============ FULL-BLEED SECTION SHELL ============ */
.fb{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border-top:1px solid var(--line);}
.fb-media{position:absolute;inset:0;z-index:0;}
.fb-media svg{width:100%;height:100%;}
.fb-scrim{position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(0deg, rgba(7,11,32,0.98) 0%, rgba(7,11,32,0.55) 42%, rgba(7,11,32,0.15) 68%, rgba(7,11,32,0.05) 100%),
    linear-gradient(90deg, rgba(7,11,32,0.55) 0%, rgba(7,11,32,0) 55%);
}
.fb-content{position:relative;z-index:2;width:100%;flex:0 0 auto;padding-bottom:110px;padding-top:180px;}
.fb.center{justify-content:center;}
.fb.center .fb-content{padding-bottom:0;padding-top:0;text-align:center;}
.fb .footer-bottom,.fb .footer-legal{position:relative;z-index:2;flex:0 0 auto;}
.fb.center .fb-scrim{background:radial-gradient(ellipse 60% 70% at 50% 50%, rgba(7,11,32,0.75), rgba(7,11,32,0.94));}

.sec-num{
  font-family:'IBM Plex Mono',monospace;font-size:0.78rem;color:var(--ink-faint);
  display:flex;align-items:center;gap:10px;margin-bottom:26px;
}
.sec-num b{color:var(--accent);font-weight:500;}

/* ============ reveal ============ */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1;transform:translateY(0);}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}html{scroll-behavior:auto;}}

/* ============ header ============ */
header.nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:28px 52px;transition:background .35s ease, padding .35s ease, border-color .35s ease;
  border-bottom:1px solid transparent;
}
header.nav.scrolled{background:rgba(7,11,32,0.88);backdrop-filter:blur(10px);padding:16px 52px;border-color:var(--line);}
.logo{font-weight:800;font-size:1rem;letter-spacing:0.02em;display:flex;flex-direction:row;align-items:center;gap:11px;line-height:1.05;}
.logo-icon{height:38px;width:auto;flex:0 0 auto;filter:drop-shadow(0 0 5px rgba(130,170,225,0.45));}
.logo-text{display:flex;flex-direction:column;line-height:1.05;}
.logo-sub{font-family:'IBM Plex Mono',monospace;font-size:0.6rem;letter-spacing:0.14em;color:var(--accent);font-weight:400;margin-top:3px;white-space:nowrap;}
@media(max-width:420px){.logo-icon{height:32px;}.logo-sub{font-size:0.55rem;letter-spacing:0.10em;}}
.nav-right{display:flex;align-items:center;gap:14px;}
.icon-btn{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.7rem;position:relative;transition:border-color .3s;}
.icon-btn:hover{border-color:var(--accent);}
.icon-btn .count{position:absolute;top:-4px;right:-4px;background:var(--accent);color:var(--bg);font-size:0.55rem;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;}
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:13px 24px;
  font-family:'IBM Plex Mono',monospace;font-size:0.7rem;letter-spacing:0.08em;text-transform:uppercase;
  border:1px solid var(--ink);color:var(--ink);transition:background .3s,color .3s,border-color .3s;white-space:nowrap;
}
.btn:hover{background:var(--ink);color:var(--bg);}
.btn.solid{background:var(--accent);border-color:var(--accent);color:#04140f;}
.btn.solid:hover{background:#4fc0b2;border-color:#4fc0b2;}
@media(max-width:820px){.btn.hide-mobile{display:none;}}

.burger{width:42px;height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;}
.burger span{display:block;width:20px;height:1px;background:var(--ink);transition:transform .3s, opacity .3s;}
.burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

/* ============ overlay menu ============ */
.overlay-menu{position:fixed;inset:0;z-index:190;background:#050813;display:flex;flex-direction:column;justify-content:flex-start;padding:150px 52px 60px;transform:translateY(-100%);transition:transform .55s cubic-bezier(.2,.8,.2,1);overflow-y:auto;}
.overlay-menu.open{transform:translateY(0);}
.overlay-menu nav{display:flex;flex-direction:column;gap:2px;max-width:900px;margin:0 auto;width:100%;}
.overlay-menu a{font-size:clamp(1.3rem,3.6vw,2.3rem);font-weight:300;color:var(--ink-dim);padding:14px 0;border-bottom:1px solid var(--line);transition:color .3s,padding-left .3s;display:flex;align-items:baseline;gap:20px;}
.overlay-menu a span{font-family:'IBM Plex Mono',monospace;font-size:0.78rem;color:var(--accent);}
.overlay-menu a:hover{color:var(--ink);padding-left:14px;}

/* ============ side dot nav ============ */
.side-nav{position:fixed;right:34px;top:50%;transform:translateY(-50%);z-index:120;display:flex;flex-direction:column;gap:16px;}
@media(max-width:820px){.side-nav{display:none;}}
.side-nav a{width:9px;height:9px;border-radius:50%;border:1px solid var(--ink-faint);position:relative;transition:background .3s,border-color .3s;}
.side-nav a.active{background:var(--accent);border-color:var(--accent);}
.side-nav a .tip{position:absolute;right:20px;top:50%;transform:translateY(-50%);font-family:'IBM Plex Mono',monospace;font-size:0.65rem;letter-spacing:0.08em;color:var(--ink-dim);white-space:nowrap;opacity:0;transition:opacity .25s;text-transform:uppercase;}
.side-nav a:hover .tip{opacity:1;}

/* ============ hero specific ============ */
.hero h1{font-size:clamp(2.3rem,6.2vw,5.4rem);font-weight:300;line-height:1.05;max-width:15ch;color:var(--ink);}
.hero h1 b{font-weight:700;}
.hero-sub{max-width:460px;margin-top:26px;color:var(--ink-dim);font-size:1rem;line-height:1.7;}
.badge{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);padding:8px 16px;font-family:'IBM Plex Mono',monospace;font-size:0.66rem;letter-spacing:0.12em;color:var(--accent);text-transform:uppercase;margin-bottom:28px;}
.badge::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);}
.hero-tags{display:flex;gap:10px;margin-top:34px;flex-wrap:wrap;}
.hero-tags span{font-family:'IBM Plex Mono',monospace;font-size:0.62rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--line);padding:7px 13px;background:rgba(7,11,32,0.4);}
.scroll-cue{position:absolute;bottom:40px;right:52px;display:flex;align-items:center;gap:12px;z-index:4;}
.scroll-cue .line{width:1px;height:52px;background:var(--line);position:relative;overflow:hidden;}
.scroll-cue .line::after{content:'';position:absolute;top:-40%;left:0;width:100%;height:40%;background:var(--accent);animation:cue 2.2s ease-in-out infinite;}
@keyframes cue{0%{top:-40%;}60%{top:100%;}100%{top:100%;}}
.scroll-cue span{font-family:'IBM Plex Mono',monospace;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);}
@media(max-width:700px){.scroll-cue{right:24px;bottom:20px;}}

/* ============ generic full-bleed heading blocks ============ */
.fb h2{font-size:clamp(1.9rem,4vw,3.1rem);font-weight:300;max-width:16ch;line-height:1.16;}
.fb h2 b{font-weight:700;}
.fb .lede{max-width:440px;color:var(--ink-dim);font-size:0.96rem;line-height:1.8;margin-top:20px;}
.fb-foot-row{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:30px;margin-top:50px;}
.mini-stats{display:flex;gap:44px;flex-wrap:wrap;}
.mini-stats div b{display:block;font-size:1.7rem;font-weight:300;color:var(--accent);}
.mini-stats div span{font-family:'IBM Plex Mono',monospace;font-size:0.6rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-faint);}

/* ============ carousel (full-bleed slides) ============ */
.carousel{position:relative;height:100vh;overflow:hidden;}
.car-track{display:flex;height:100%;transition:transform .6s cubic-bezier(.2,.8,.2,1);}
.car-slide{flex:0 0 100%;position:relative;display:flex;align-items:flex-end;}
.car-media{position:absolute;inset:0;z-index:0;}
.car-media svg{width:100%;height:100%;}
.car-scrim{position:absolute;inset:0;z-index:1;background:
  linear-gradient(0deg, rgba(7,11,32,0.98) 0%, rgba(7,11,32,0.5) 45%, rgba(7,11,32,0.1) 70%),
  linear-gradient(90deg, rgba(7,11,32,0.5) 0%, rgba(7,11,32,0) 50%);}
.car-body{position:relative;z-index:2;width:100%;padding:0 52px 110px;}
@media(max-width:700px){.car-body{padding:0 24px 90px;}}
.car-body .idx{font-family:'IBM Plex Mono',monospace;color:var(--accent);font-size:0.82rem;display:block;margin-bottom:14px;}
.car-body h3{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:300;margin-bottom:14px;max-width:16ch;}
.car-body h3 b{font-weight:700;}
.car-body p{color:var(--ink-dim);font-size:0.94rem;line-height:1.8;max-width:44ch;}
.car-nav{position:absolute;bottom:40px;right:52px;z-index:3;display:flex;align-items:center;gap:20px;}
@media(max-width:700px){.car-nav{right:24px;bottom:26px;}}
.car-arrow{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:border-color .3s,background .3s;font-size:1rem;background:rgba(7,11,32,0.4);}
.car-arrow:hover{border-color:var(--accent);background:var(--accent-soft);}
.car-counter{font-family:'IBM Plex Mono',monospace;font-size:0.75rem;color:var(--ink-faint);}
.car-counter b{color:var(--ink);font-weight:500;}
.car-dots{position:absolute;bottom:40px;left:52px;z-index:3;display:flex;gap:8px;}
@media(max-width:700px){.car-dots{left:24px;bottom:26px;}}
.car-dots i{width:22px;height:2px;background:var(--line);display:block;}
.car-dots i.on{background:var(--accent);}
.sec-num.floating{position:absolute;top:120px;left:52px;z-index:3;margin:0;}
@media(max-width:700px){.sec-num.floating{left:24px;top:100px;}}

/* ============ stats section ============ */
.stats-sec{min-height:auto;padding:130px 0;border-top:1px solid var(--line);position:relative;background:var(--bg-soft);}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:70px;}
@media(max-width:820px){.stats-grid{grid-template-columns:1fr 1fr;}}
.stat-cell{background:var(--bg-soft);padding:52px 32px;display:flex;flex-direction:column;gap:12px;}
.stat-cell b{font-size:clamp(1.9rem,3.4vw,3rem);font-weight:300;color:var(--ink);}
.stat-cell span{font-family:'IBM Plex Mono',monospace;font-size:0.66rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);}

/* ============ services grid ============ */
.services-sec{min-height:auto;padding:130px 0;border-top:1px solid var(--line);}
.services-grid{margin-top:70px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
@media(max-width:860px){.services-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.services-grid{grid-template-columns:1fr;}}
.serv-cell{background:var(--bg);padding:42px 30px;transition:background .3s;}
.serv-cell:hover{background:var(--panel);}
.serv-cell .n{font-family:'IBM Plex Mono',monospace;color:var(--accent);font-size:0.72rem;display:block;margin-bottom:20px;}
.serv-cell h4{font-size:1.02rem;font-weight:500;margin-bottom:10px;}
.serv-cell p{color:var(--ink-dim);font-size:0.86rem;line-height:1.65;}

/* ============ gallery ============ */
.gallery-sec{min-height:auto;padding:130px 0;border-top:1px solid var(--line);background:var(--bg-soft);}
.gallery-grid{margin-top:70px;display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line);}
@media(max-width:760px){.gallery-grid{grid-template-columns:1fr;}}
.gal-card{background:var(--bg-soft);position:relative;}
.gal-thumb{aspect-ratio:16/9;overflow:hidden;position:relative;background:var(--panel);}
.gal-thumb img{width:100%;height:100%;object-fit:cover;filter:grayscale(0.4) brightness(0.62);transition:filter .5s,transform .6s;}
.gal-card:hover .gal-thumb img{filter:grayscale(0) brightness(0.8);transform:scale(1.04);}
.gal-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;border:1px solid var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(7,11,32,0.5);}
.gal-play::after{content:'';border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid var(--accent);margin-left:3px;}
.gal-body{padding:26px 6px 6px;}
.gal-body .mono{font-size:0.65rem;color:var(--accent);display:block;margin-bottom:8px;}
.gal-body h4{font-size:1rem;font-weight:500;margin-bottom:8px;}
.gal-body p{color:var(--ink-faint);font-size:0.84rem;line-height:1.6;}

/* ============ footer cta ============ */
.footer-cta{padding:150px 0 0;border-top:1px solid var(--line);}
.footer-bottom{width:100%;border-top:1px solid var(--line);margin-top:80px;padding:34px 52px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:0.75rem;color:var(--ink-faint);max-width:1280px;margin-left:auto;margin-right:auto;}
.footer-legal{width:100%;padding:0 52px 40px;max-width:1280px;margin:0 auto;color:var(--ink-faint);font-size:0.7rem;line-height:1.7;opacity:0.65;}
@media(max-width:700px){.footer-bottom,.footer-legal{padding-left:24px;padding-right:24px;}}
.hours-row{margin-top:56px;display:flex;gap:36px;flex-wrap:wrap;font-family:'IBM Plex Mono',monospace;font-size:0.7rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-faint);}

.wa-float{position:fixed;bottom:26px;right:26px;z-index:150;width:56px;height:56px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,0.45);}

/* ============ contact modal ============ */
.modal-backdrop{position:fixed;inset:0;z-index:250;background:rgba(5,8,19,0.72);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .35s ease;}
.modal-backdrop.open{opacity:1;pointer-events:auto;}
.modal-box{width:100%;max-width:460px;min-width:0;background:var(--panel);border:1px solid var(--line);padding:44px 38px;position:relative;transform:translateY(18px);transition:transform .35s cubic-bezier(.2,.8,.2,1);}
.modal-backdrop.open .modal-box{transform:translateY(0);}
.modal-close{position:absolute;top:18px;right:18px;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;}
.modal-close:hover{border-color:var(--accent);}
.modal-box h3{font-size:1.5rem;font-weight:300;margin-bottom:10px;}
.modal-box h3 b{font-weight:700;}
.modal-box p.hint{color:var(--ink-dim);font-size:0.88rem;margin-bottom:26px;line-height:1.6;}
.field{margin-bottom:18px;}
.field label{display:block;font-family:'IBM Plex Mono',monospace;font-size:0.65rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:8px;}
.field input,.field textarea{width:100%;background:transparent;border:1px solid var(--line);color:var(--ink);padding:12px 14px;font-family:'Manrope',sans-serif;font-size:0.92rem;transition:border-color .3s;}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);}
.field textarea{resize:vertical;min-height:80px;}
.modal-box .btn.solid{width:100%;justify-content:center;margin-top:6px;}
.consent{display:flex;gap:10px;align-items:flex-start;margin-bottom:22px;}
.consent input{margin-top:4px;}
.consent span{font-size:0.76rem;color:var(--ink-faint);line-height:1.5;}

/* ============ catálogo ============ */
.catalog-sec{min-height:auto;padding:130px 0;border-top:1px solid var(--line);}
.cat-head h2{font-size:clamp(1.9rem,3.8vw,2.9rem);font-weight:300;max-width:16ch;}
.cat-head h2 b{font-weight:700;}
.cat-head .lede{max-width:480px;color:var(--ink-dim);font-size:0.96rem;line-height:1.8;margin-top:18px;}
.cat-note{margin-top:20px;font-family:'IBM Plex Mono',monospace;font-size:0.66rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--accent);opacity:0.85;}
.cat-filters{margin-top:46px;display:flex;gap:18px;flex-wrap:wrap;align-items:flex-end;padding:28px;border:1px solid var(--line);background:var(--panel);}
.filter-field{display:flex;flex-direction:column;gap:8px;min-width:170px;flex:1;}
.filter-field label{font-family:'IBM Plex Mono',monospace;font-size:0.64rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);}
.filter-field select{
  background:transparent;border:1px solid var(--line);color:var(--ink);padding:12px 14px;
  font-family:'Manrope',sans-serif;font-size:0.9rem;transition:border-color .3s;
}
.filter-field select:focus{outline:none;border-color:var(--accent);}
.filter-field select option{background:var(--panel);color:var(--ink);}
.cat-filters .btn{flex:0 0 auto;padding:13px 22px;}
.cat-count{margin-top:30px;font-family:'IBM Plex Mono',monospace;font-size:0.72rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-faint);}
.cat-count span{color:var(--accent);font-weight:500;}
.cat-grid{margin-top:26px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
@media(max-width:960px){.cat-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.cat-grid{grid-template-columns:1fr;}}
.prop-card{background:var(--bg);display:flex;flex-direction:column;transition:background .3s;}
.prop-card:hover{background:var(--panel);}
.prop-thumb{aspect-ratio:4/3;position:relative;overflow:hidden;background:var(--panel);}
.prop-thumb img{width:100%;height:100%;object-fit:cover;filter:grayscale(0.3) brightness(0.75);transition:filter .4s,transform .5s;}
.prop-card:hover .prop-thumb img{filter:grayscale(0) brightness(0.9);transform:scale(1.04);}
.prop-tag{position:absolute;top:14px;left:14px;display:flex;gap:6px;flex-wrap:wrap;max-width:calc(100% - 28px);}
.prop-tag span{font-family:'IBM Plex Mono',monospace;font-size:0.6rem;letter-spacing:0.06em;text-transform:uppercase;padding:5px 10px;background:rgba(7,11,32,0.75);border:1px solid var(--line);color:var(--ink-dim);}
.prop-tag span.uf{color:var(--accent);border-color:var(--accent);}
.prop-body{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1;}
.prop-body h4{font-size:1rem;font-weight:500;color:var(--ink);}
.prop-body .loc{font-family:'IBM Plex Mono',monospace;font-size:0.68rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:0.05em;}
.prop-body .desc{color:var(--ink-dim);font-size:0.84rem;line-height:1.6;flex:1;}
.prop-price{display:flex;justify-content:space-between;align-items:baseline;margin-top:6px;padding-top:14px;border-top:1px solid var(--line);}
.prop-price b{font-size:1.15rem;font-weight:500;color:var(--accent);}
.prop-price span{font-family:'IBM Plex Mono',monospace;font-size:0.6rem;color:var(--ink-faint);text-transform:uppercase;}
.prop-card .btn{margin-top:14px;width:100%;justify-content:center;}
.cat-empty{padding:60px 0;text-align:center;color:var(--ink-faint);font-family:'IBM Plex Mono',monospace;font-size:0.8rem;grid-column:1/-1;background:var(--bg);}

/* property detail modal */
.prop-box{max-width:920px;max-height:88vh;overflow-y:auto;padding:0;}
.prop-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
@media(max-width:760px){.prop-detail{grid-template-columns:1fr;}}
.prop-gallery{padding:36px;border-right:1px solid var(--line);}
@media(max-width:760px){.prop-gallery{border-right:none;border-bottom:1px solid var(--line);}}
.prop-main-photo{aspect-ratio:4/3;overflow:hidden;background:var(--bg);margin-bottom:10px;}
.prop-main-photo img{width:100%;height:100%;object-fit:cover;}
.prop-thumbs{display:flex;gap:8px;}
.prop-thumbs img{width:60px;height:46px;object-fit:cover;cursor:pointer;opacity:0.55;transition:opacity .25s;border:1px solid var(--line);}
.prop-thumbs img:hover,.prop-thumbs img.active{opacity:1;border-color:var(--accent);}
.prop-sv-label{margin-top:26px;font-family:'IBM Plex Mono',monospace;font-size:0.64rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;}
.prop-sv{aspect-ratio:16/10;background:var(--bg);border:1px solid var(--line);overflow:hidden;}
.prop-sv iframe{width:100%;height:100%;border:0;}
.prop-sv-link{display:inline-block;margin-top:10px;font-family:'IBM Plex Mono',monospace;font-size:0.68rem;color:var(--ink-dim);text-decoration:underline;text-underline-offset:3px;}
.prop-sv-link:hover{color:var(--accent);}
.prop-info{padding:36px;}
.prop-info .badge{margin-bottom:18px;}
.prop-info h3{font-size:1.35rem;font-weight:500;margin-bottom:6px;}
.prop-info .loc{font-family:'IBM Plex Mono',monospace;font-size:0.7rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:20px;display:block;}
.prop-info .desc{color:var(--ink-dim);font-size:0.9rem;line-height:1.8;margin-bottom:24px;}
.prop-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;margin-bottom:26px;padding-top:20px;border-top:1px solid var(--line);}
.prop-facts div span{display:block;font-family:'IBM Plex Mono',monospace;font-size:0.6rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:5px;}
.prop-facts div b{font-size:0.95rem;font-weight:500;color:var(--ink);}
.prop-facts div b.accent{color:var(--accent);}

/* ============ admin ============ */
.admin-box{max-width:980px;max-height:88vh;overflow-y:auto;padding:44px;}
.admin-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:20px;margin-bottom:34px;padding-bottom:28px;border-bottom:1px solid var(--line);}
.admin-header h3{font-size:1.4rem;font-weight:500;margin-top:12px;}
.admin-header h3 b{font-weight:700;}
.admin-header-actions{display:flex;gap:12px;}
.admin-list{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);}
.admin-row{background:var(--bg);padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.admin-row-info{display:flex;flex-direction:column;gap:4px;}
.admin-row-info b{font-size:0.95rem;font-weight:500;color:var(--ink);}
.admin-row-info span{font-family:'IBM Plex Mono',monospace;font-size:0.68rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:0.05em;}
.admin-row-actions{display:flex;gap:10px;}
.admin-row-actions button{font-family:'IBM Plex Mono',monospace;font-size:0.66rem;letter-spacing:0.06em;text-transform:uppercase;padding:9px 16px;border:1px solid var(--line);color:var(--ink-dim);transition:border-color .3s,color .3s;}
.admin-row-actions button:hover{border-color:var(--accent);color:var(--accent);}
.admin-row-actions button.danger:hover{border-color:#e0685f;color:#e0685f;}
.admin-empty{padding:50px 20px;text-align:center;color:var(--ink-faint);font-family:'IBM Plex Mono',monospace;font-size:0.8rem;}
.admin-back{font-family:'IBM Plex Mono',monospace;font-size:0.72rem;color:var(--ink-dim);letter-spacing:0.06em;text-transform:uppercase;}
.admin-back:hover{color:var(--accent);}
.admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;}
@media(max-width:700px){.admin-grid{grid-template-columns:1fr;}}
.admin-grid select{width:100%;background:transparent;border:1px solid var(--line);color:var(--ink);padding:12px 14px;font-family:'Manrope',sans-serif;font-size:0.9rem;}
.admin-grid select option{background:var(--panel);color:var(--ink);}
.admin-hint{font-family:'IBM Plex Mono',monospace;font-size:0.64rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:0.05em;margin:10px 0 8px;}
.admin-photo-preview{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.admin-photo-preview .ph{position:relative;width:84px;height:64px;}
.admin-photo-preview .ph img{width:100%;height:100%;object-fit:cover;border:1px solid var(--line);}
.admin-photo-preview .ph button{position:absolute;top:-8px;right:-8px;width:20px;height:20px;border-radius:50%;background:#e0685f;color:#fff;font-size:0.6rem;display:flex;align-items:center;justify-content:center;border:none;}
.posicao-picker{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.pos-btn{width:40px;height:40px;border:1px solid var(--line);background:transparent;color:var(--ink-dim);font-family:'IBM Plex Mono',monospace;font-size:0.85rem;display:flex;align-items:center;justify-content:center;transition:border-color .3s,background .3s,color .3s;}
.pos-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);}
.pos-btn.selected{background:var(--accent);border-color:var(--accent);color:#04140f;font-weight:700;}
.pos-btn:disabled{opacity:0.3;cursor:not-allowed;}
.admin-row-info span.visitas{color:var(--accent);}
.admin-form-actions{display:flex;gap:14px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line);flex-wrap:wrap;}
.admin-form-actions .btn{flex:0 0 auto;}
.admin-box .admin-form-actions .btn.solid{width:auto;margin-top:0;}
#pfPhotoUpload{width:100%;background:transparent;border:1px solid var(--line);color:var(--ink-dim);padding:12px 14px;font-family:'IBM Plex Mono',monospace;font-size:0.78rem;}

/* ============ ADIÇÕES — atualização institucional ============ */
/* rótulos Missão / Visão / Valores na seção Sobre */
.lede .lbl{color:var(--accent);font-weight:700;}

/* grid de 4 colunas (seção de modalidades) */
.services-grid.cols-4{grid-template-columns:repeat(4,1fr);}
@media(max-width:960px){.services-grid.cols-4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.services-grid.cols-4{grid-template-columns:1fr;}}

/* indicador de leilão / compra imediata no card */
.prop-status{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;margin-top:2px;padding:6px 11px;border-radius:20px;font-family:'IBM Plex Mono',monospace;font-size:0.64rem;letter-spacing:0.04em;font-weight:500;border:1px solid var(--line);color:var(--ink);}
.prop-status.imediata{color:var(--accent);border-color:rgba(62,160,148,0.5);background:var(--accent-soft);}

/* 2 links dentro do anúncio (Acessar anúncio / Documentação) */
.prop-detail-links{display:flex;gap:10px;margin:0 0 20px;flex-wrap:wrap;}
.prop-detail-links a{flex:1 1 140px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 12px;border-radius:8px;font-size:0.85rem;font-weight:600;text-decoration:none;border:1px solid rgba(62,160,148,0.5);color:var(--accent);background:var(--accent-soft);transition:background .3s;}
.prop-detail-links a:hover{background:rgba(62,160,148,0.2);}
