:root{
  --black:#050505; --graphite:#111214; --soft:#f4efe6; --muted:#b9b1a3; --gold:#d4a84f; --gold-2:#f3d38b; --line:rgba(212,168,79,.28);
  --shadow:0 24px 70px rgba(0,0,0,.42);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--black);color:var(--soft);font-family:Inter,system-ui,sans-serif;line-height:1.6;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 10%,rgba(212,168,79,.12),transparent 28%),linear-gradient(135deg,rgba(255,255,255,.025) 0 1px,transparent 1px 80px);pointer-events:none;z-index:-2}
.topbar{position:fixed;inset:0 0 auto;z-index:20;height:86px;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(18px,4vw,64px);background:linear-gradient(180deg,rgba(0,0,0,.88),rgba(0,0,0,.42),transparent);backdrop-filter:blur(12px)}
.brand img{height:58px;width:auto;display:block;filter:drop-shadow(0 8px 18px rgba(212,168,79,.24))}.nav{display:flex;align-items:center;gap:28px}.nav a{color:var(--soft);text-decoration:none;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase}.nav a:hover{color:var(--gold-2)}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--gold);font-size:1.5rem;border-radius:999px;width:44px;height:44px}
.btn{border:0;border-radius:999px;padding:13px 24px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:.25s ease;font-family:Inter,sans-serif}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--soft);color:#111}.btn-secondary,.btn-outline{background:transparent;color:var(--soft);border:1px solid var(--line)}.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#17120a;box-shadow:0 16px 34px rgba(212,168,79,.2)}
.hero{min-height:100vh;position:relative;display:grid;align-items:center;padding:120px clamp(22px,6vw,88px) 80px}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.45)),url('assets/logo-original.jpeg') center/cover no-repeat;opacity:.55;filter:saturate(.85);z-index:-1}.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,#050505 96%)}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:44px;align-items:end;max-width:1250px;margin:auto;width:100%}.eyebrow{display:inline-block;color:var(--gold-2);text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:700;margin-bottom:15px}.hero h1,.section h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,7vw,6.4rem);line-height:.95;margin:0 0 24px}.hero p{max-width:680px;color:#ddd4c5;font-size:1.08rem}.hero-actions,.stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.stats{gap:28px}.stats strong{display:block;color:var(--gold-2);font-size:1.8rem}.stats span{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.1em}.hero-card{background:rgba(17,18,20,.72);border:1px solid var(--line);border-radius:28px;padding:32px;backdrop-filter:blur(16px);box-shadow:var(--shadow)}.hero-card h2{font-family:'Cormorant Garamond',serif;font-size:2.2rem;line-height:1;margin:8px 0 16px}.card-topline{height:3px;width:80px;background:linear-gradient(90deg,var(--gold),transparent);margin-bottom:22px}
.section{padding:96px clamp(22px,6vw,88px)}.section-heading{max-width:760px;margin:0 auto 40px;text-align:center}.section-heading h2{font-size:clamp(2.2rem,4.8vw,4.4rem)}.section-heading p,.feature p,.about p,.property-body p{color:var(--muted)}.feature-grid,.property-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature{background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018));border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:30px}.feature span{color:var(--gold);font-weight:800}.feature h3{font-family:'Cormorant Garamond',serif;font-size:2rem;margin:18px 0 10px}
.filters{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:28px}.filter{padding:11px 19px;border:1px solid var(--line);background:transparent;color:var(--soft);border-radius:999px;cursor:pointer}.filter.active,.filter:hover{background:var(--gold);color:#111}.property-card{overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:28px;background:#101012;box-shadow:var(--shadow);transition:.3s}.property-card:hover{transform:translateY(-8px)}.property-image{height:290px;position:relative;background-size:cover;background-position:center}.img-1{background-image:linear-gradient(135deg,rgba(0,0,0,.14),rgba(0,0,0,.4)),linear-gradient(120deg,#2b2d31,#111 54%,#70531f)}.img-2{background-image:linear-gradient(135deg,rgba(0,0,0,.12),rgba(0,0,0,.44)),linear-gradient(120deg,#1e2520,#0d0d0e 52%,#8a692d)}.img-3{background-image:linear-gradient(135deg,rgba(0,0,0,.12),rgba(0,0,0,.42)),linear-gradient(120deg,#282a30,#0f0f10 52%,#5e4821)}.favorite{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.38);background:rgba(0,0,0,.38);color:white;font-size:1.35rem;cursor:pointer}.favorite.active{background:var(--gold);color:#111}.property-body{padding:24px}.tag{color:#111;background:var(--gold-2);padding:6px 12px;border-radius:999px;font-size:.74rem;font-weight:800;text-transform:uppercase}.property-body h3{font-family:'Cormorant Garamond',serif;font-size:2rem;margin:18px 0 8px}.card-actions{display:flex;align-items:center;justify-content:space-between;margin-top:20px}.link-btn{background:none;border:0;color:var(--gold-2);font-weight:800;cursor:pointer}.disclaimer{text-align:center;color:var(--muted);font-size:.9rem;margin-top:28px}.about{background:linear-gradient(135deg,rgba(212,168,79,.09),transparent 55%)}.about-panel{max-width:900px;margin:auto;border:1px solid var(--line);border-radius:36px;padding:clamp(30px,6vw,70px);background:rgba(255,255,255,.04)}.contact-form{max-width:760px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:grid;gap:8px;color:var(--gold-2);font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{width:100%;background:#111;border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:15px;color:var(--soft);font:inherit}.contact-form label:nth-child(4),.contact-form button,.form-status{grid-column:1/-1}.form-status{color:var(--gold-2)}.footer{padding:36px clamp(22px,6vw,88px);border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}.footer img{height:54px}.back-top{background:none;border:0;color:var(--gold-2);cursor:pointer}.modal{max-width:620px;border:1px solid var(--line);border-radius:28px;background:#0d0d0e;color:var(--soft);padding:34px;box-shadow:var(--shadow)}.modal::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.modal-close{float:right;border:0;background:transparent;color:var(--gold-2);font-size:2rem;cursor:pointer}.modal h2{font-family:'Cormorant Garamond',serif;font-size:3rem;line-height:1;margin:12px 0}.modal li{margin:10px 0;color:var(--muted)}.reveal{opacity:1;transform:none;transition:.75s ease}.js-enabled .reveal{opacity:0;transform:translateY(20px)}.js-enabled .reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.menu-toggle{display:block}.nav{position:absolute;top:86px;right:18px;left:18px;display:none;flex-direction:column;background:rgba(5,5,5,.96);border:1px solid var(--line);border-radius:24px;padding:24px}.nav.open{display:flex}.hero-grid{grid-template-columns:1fr}.feature-grid,.property-grid,.contact-form{grid-template-columns:1fr}.hero-card{max-width:520px}.topbar{height:78px}.brand img{height:50px}}

.property-image::before{content:"";position:absolute;inset:36px 24px 0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 2px,transparent 2px 38px),linear-gradient(180deg,rgba(243,211,139,.28),transparent);clip-path:polygon(8% 100%,8% 24%,25% 18%,25% 100%,38% 100%,38% 34%,55% 28%,55% 100%,70% 100%,70% 14%,90% 8%,90% 100%);opacity:.9}





/* Cards com galeria */
.img-portugal{background-image:linear-gradient(135deg,rgba(0,0,0,.14),rgba(0,0,0,.4)),linear-gradient(120deg,#2b2d31,#111 54%,#70531f)}
.img-casa-jardim{background-image:linear-gradient(135deg,rgba(0,0,0,.12),rgba(0,0,0,.42)),linear-gradient(120deg,#1e2520,#0d0d0e 52%,#8a692d)}
.img-monumento{background-image:linear-gradient(135deg,rgba(0,0,0,.10),rgba(0,0,0,.44)),linear-gradient(120deg,#202734,#0d0d0e 52%,#a77b34)}
.img-portal{background-image:linear-gradient(135deg,rgba(0,0,0,.10),rgba(0,0,0,.45)),linear-gradient(120deg,#26302f,#0d0d0e 52%,#c49a50)}
.img-vista {background-image: linear-gradient(135deg, rgba(0,0,0,.14), rgba(0,0,0,.4)),linear-gradient(120deg, #2b2d31, #111 54%, #70531f)}
.img-vista2 {background-image: linear-gradient(135deg, rgba(0,0,0,.14), rgba(0,0,0,.4)),linear-gradient(120deg, #1e2a2a, #111 54%, #8a7a3d)}
.img-highline {background-image: linear-gradient(135deg, rgba(0,0,0,.14), rgba(0,0,0,.4)),linear-gradient(120deg, #2b2d31, #111 54%, #70531f)}
.img-portugal.has-photo::before,.img-casa-jardim.has-photo::before,.img-monumento.has-photo::before,.img-portal.has-photo::before{display:none}.image-badge{position:absolute;left:16px;bottom:16px;padding:7px 12px;border-radius:999px;background:rgba(5,5,5,.72);border:1px solid var(--line);color:var(--gold-2);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.modal{width:min(1120px,94vw);max-width:1120px}.modal-description{color:#d8cfbf;margin:18px 0 8px}.modal-gallery{position:relative;margin:20px 0 24px;border:1px solid rgba(255,255,255,.1);border-radius:24px;overflow:hidden;background:#060606}.modal-gallery>img{width:100%;height:min(68vh,640px);object-fit:cover;display:block}.gallery-counter{position:absolute;right:18px;bottom:88px;z-index:3;padding:7px 12px;border-radius:999px;background:rgba(0,0,0,.66);border:1px solid rgba(255,255,255,.2);color:var(--gold-2);font-size:.82rem;font-weight:800}.gallery-nav{position:absolute;top:42%;transform:translateY(-50%);z-index:2;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.55);color:#fff;font-size:2rem;line-height:1;cursor:pointer}.gallery-prev{left:16px}.gallery-next{right:16px}.gallery-thumbs{display:flex;gap:10px;overflow-x:auto;padding:14px;background:rgba(0,0,0,.62);scrollbar-color:var(--gold) #111}.gallery-thumb{flex:0 0 96px;height:72px;padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;background:#111;cursor:pointer}.gallery-thumb.active{border-color:var(--gold)}.gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:720px){.modal{padding:24px;width:94vw}.modal-gallery>img{height:360px}.gallery-counter{bottom:74px;right:12px}.gallery-thumb{flex-basis:76px;height:58px}.card-actions{align-items:flex-start;gap:12px;flex-direction:column}}


.about-content{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;margin:28px 0 34px}.about-block{background:rgba(5,5,5,.28);border:1px solid rgba(212,168,79,.18);border-radius:24px;padding:26px}.about-block h3{font-family:'Cormorant Garamond',serif;font-size:2.25rem;line-height:1;margin:0 0 14px;color:var(--gold-2)}.about-block p{margin:0;color:#d8cfbf}.values-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.values-list li{position:relative;padding-left:24px;color:#d8cfbf}.values-list li::before{content:"";position:absolute;left:0;top:.72em;width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-2));box-shadow:0 0 18px rgba(212,168,79,.35)}@media(max-width:900px){.about-content{grid-template-columns:1fr}.about-block{padding:22px}}


.footer-brand{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.footer-brand p{margin:0;color:var(--muted)}.footer-social{display:grid;gap:10px;text-align:center}.footer-social>span{color:var(--gold-2);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800}.social-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.social-links a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border-radius:999px;border:1px solid rgba(212,168,79,.32);background:rgba(255,255,255,.035);color:var(--soft);text-decoration:none;font-size:.84rem;font-weight:800;letter-spacing:.04em;transition:.25s ease}.social-links a:hover{transform:translateY(-2px);background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#111;box-shadow:0 14px 26px rgba(212,168,79,.18)}@media(max-width:760px){.footer{align-items:flex-start;flex-direction:column}.footer-social{text-align:left}.social-links{justify-content:flex-start}}
/* Wrapper para contato: informações + formulário lado a lado */
.contact-wrapper {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 40px;
  max-width: 960px;
  margin: 0 auto;
  align-items: start;
}

.contact-info {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 32px 28px;
  backdrop-filter: blur(4px);
}

.contact-info h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.2rem;
  color: var(--gold-2);
  margin: 0 0 20px 0;
  line-height: 1.2;
}

.contact-info p {
  color: var(--muted);
  margin: 12px 0;
  font-size: 1rem;
  display: flex;
  align-items: center;
  gap: 8px;
}

.contact-info .icon {
  font-size: 1.2rem;
  line-height: 1;
}

.contact-info address {
  font-style: normal;
  color: var(--muted);
  line-height: 1.8;
  padding-left: 32px;
  margin-top: -8px;
}

/* Responsivo */
@media (max-width: 820px) {
  .contact-wrapper {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .contact-info {
    padding: 24px;
  }
  .contact-info address {
    padding-left: 0;
  }
}
.property-card[hidden],.property-pagination[hidden]{display:none!important}.property-pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin:32px}.link-btn{text-decoration:none}.property-card[data-url]{cursor:pointer}.property-image.has-photo::before{display:none}.img-new-property{background-image:linear-gradient(120deg,#25282d,#111 55%,#80622d)}.property-page{padding-top:86px}.property-detail-hero{padding:72px clamp(22px,6vw,88px) 45px}.property-detail-hero>div,.property-detail-layout{max-width:1180px;margin:auto}.property-detail-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,7vw,6rem);line-height:.95}.detail-back{color:var(--gold-2);text-decoration:none}.detail-price{color:var(--gold-2);font-size:1.4rem}.property-detail-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:32px;padding:20px 30px 90px}.detail-main-image{position:relative;aspect-ratio:1/1;border-radius:28px;overflow:hidden;background:#050505}.detail-main-image>img{width:100%;height:100%;object-fit:contain;display:block;transform-origin:center;touch-action:none}.detail-main-image>img.is-zoomed{cursor:grab}.detail-info{align-self:start;position:sticky;top:110px;padding:30px;border:1px solid var(--line);border-radius:28px}.detail-info h2,.detail-copy h2{font-family:'Cormorant Garamond',serif;font-size:2.4rem}.detail-info li{color:var(--muted);margin:10px 0}.detail-copy{margin-top:28px;padding:28px;border:1px solid var(--line);border-radius:24px}.detail-copy p{color:var(--muted)}.gallery-empty{padding:40px;text-align:center}.gallery-zoom-controls{position:absolute;left:16px;top:16px;z-index:5;display:flex;align-items:center;gap:7px;padding:7px;border-radius:999px;background:rgba(0,0,0,.72)}.gallery-zoom-controls button{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:#111;color:var(--gold-2);cursor:pointer}.gallery-zoom-controls span{min-width:50px;text-align:center;font-size:.78rem}@media(max-width:850px){.property-detail-layout{grid-template-columns:1fr}.detail-info{position:static}}

/* Galeria compacta: imagens pequenas e ampliacao ao clicar */
.detail-main-image.compact-preview{
  width:min(100%,460px);
  aspect-ratio:4/3;
  margin:0 auto;
  cursor:zoom-in;
  border:1px solid var(--line);
  box-shadow:0 18px 45px rgba(0,0,0,.3);
}
.detail-main-image.compact-preview>img{
  width:100%;
  height:100%;
  object-fit:contain;
  transform:none!important;
  background:#050505;
}
.detail-main-image.compact-preview .gallery-zoom-controls{display:none}
.detail-main-image.compact-preview::after{
  content:'Clique para ampliar';
  position:absolute;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  padding:8px 14px;
  border-radius:999px;
  background:rgba(0,0,0,.72);
  color:var(--gold-2);
  font-size:.78rem;
  font-weight:800;
  white-space:nowrap;
  pointer-events:none;
}
.detail-gallery .gallery-thumbs,.property-detail-layout>div>.gallery-thumbs{
  max-width:640px;
  margin:14px auto 0;
  justify-content:center;
}
body.lightbox-open{overflow:hidden}
.image-lightbox[hidden]{display:none}
.image-lightbox{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(0,0,0,.9);
  backdrop-filter:blur(10px);
}
.lightbox-dialog{
  position:relative;
  width:min(94vw,1100px);
  height:min(92vh,900px);
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 58px;
  grid-template-rows:minmax(0,1fr) auto;
  align-items:center;
}
.lightbox-stage{
  grid-column:2;
  grid-row:1;
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;
  background:#050505;
}
.lightbox-stage img{
  display:block;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  transform-origin:center;
  touch-action:none;
  user-select:none;
  cursor:zoom-in;
}
.lightbox-stage img.is-zoomed{cursor:grab}
.lightbox-close,.lightbox-nav,.lightbox-toolbar button{
  border:1px solid rgba(255,255,255,.25);
  background:rgba(10,10,10,.86);
  color:#fff;
  cursor:pointer;
}
.lightbox-close{
  position:absolute;
  top:-4px;
  right:0;
  z-index:3;
  width:46px;
  height:46px;
  border-radius:50%;
  font-size:1.9rem;
}
.lightbox-nav{width:48px;height:48px;border-radius:50%;font-size:2rem}
.lightbox-prev{grid-column:1;grid-row:1;justify-self:start}
.lightbox-next{grid-column:3;grid-row:1;justify-self:end}
.lightbox-toolbar{
  grid-column:1/-1;
  grid-row:2;
  justify-self:center;
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:12px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(10,10,10,.88);
  color:#fff;
}
.lightbox-toolbar button{width:36px;height:36px;border-radius:50%;color:var(--gold-2);font-size:1.1rem}
.lightbox-toolbar span{min-width:52px;text-align:center;font-size:.8rem;font-weight:800}
@media(max-width:700px){
  .detail-main-image.compact-preview{width:min(100%,360px)}
  .lightbox-dialog{width:96vw;height:88vh;grid-template-columns:42px minmax(0,1fr) 42px}
  .lightbox-nav{width:38px;height:38px;font-size:1.5rem}
  .lightbox-close{top:-48px;width:40px;height:40px}
  .image-lightbox{padding:56px 8px 10px}
}


/* Navegacao da galeria compacta e abertura sem zoom inicial */
.compact-nav{
  position:absolute;
  top:50%;
  z-index:7;
  width:44px;
  height:44px;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.32);
  border-radius:50%;
  background:rgba(0,0,0,.66);
  color:#fff;
  font-size:1.8rem;
  line-height:1;
  cursor:pointer;
  transition:.2s ease;
}
.compact-nav:hover{background:var(--gold);color:#111}
.compact-prev{left:12px}
.compact-next{right:12px}
.lightbox-stage{min-width:0;min-height:0}
.lightbox-stage img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  transform:translate3d(0,0,0) scale(1);
}
@media(max-width:700px){
  .compact-nav{width:38px;height:38px;font-size:1.5rem}
  .compact-prev{left:8px}.compact-next{right:8px}
}


/* Correcao final: zoom controlado e imagem sempre enquadrada */
.lightbox-dialog{
  width:min(90vw,980px);
  height:min(84vh,760px);
}
.lightbox-stage{
  padding:24px;
  box-sizing:border-box;
}
.lightbox-stage img{
  width:auto!important;
  height:auto!important;
  max-width:calc(100% - 8px)!important;
  max-height:calc(100% - 8px)!important;
  object-fit:contain!important;
}
@media(max-width:700px){
  .lightbox-dialog{width:94vw;height:78vh}
  .lightbox-stage{padding:12px}
}


/* Galeria final sem ampliacao e sem zoom */
.detail-main-image.compact-preview.no-zoom{
  cursor:default;
  overflow:hidden;
}
.detail-main-image.compact-preview.no-zoom>img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  transform:none!important;
  cursor:default!important;
  touch-action:auto;
}
.detail-main-image.compact-preview.no-zoom::after{display:none!important}
.detail-main-image.compact-preview.no-zoom .gallery-zoom-controls{display:none!important}
.image-lightbox{display:none!important}
body.lightbox-open{overflow:auto!important}
