/* Manrope variable (subset latin), auto-hospedada.
   Substitui o Google Fonts para eliminar 2 requisicoes externas e a
   cadeia serial HTML -> css2 -> woff2 do caminho critico. */
@font-face{
  font-family:'Manrope';
  font-style:normal;
  font-weight:200 800;
  font-display:swap;
  src:url('/fonts/manrope-latin-wght-normal.woff2') format('woff2-variations');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root{
    --teal:#946200;       /* dourado profundo - texto/links sobre fundo claro */
    --teal-dark:#6B4700;  /* dourado escuro - hover/gradientes */
    --gold:#FFC72C;       /* amarelo vivo da marca - sobre fundo preto */
    --ink:#141414;        /* preto da marca */
    --white:#FFFFFF;
    --pale:#F7F5EF;
    --stone:#6B6459;
    --line:#E7E3D8;
    --moss:#4B6B4A;
    --max:1180px;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--white);
    color:var(--ink);
    font-family:'Manrope',sans-serif;
    font-weight:400;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{font-family:'Manrope',sans-serif;font-weight:800;letter-spacing:-0.01em;}
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 32px;}
  .eyebrow{
    font-size:12.5px;letter-spacing:0.14em;text-transform:uppercase;
    color:var(--teal);font-weight:700;
  }

  header{
    position:sticky;top:0;z-index:50;
    background:rgba(20,20,20,0.94);
    backdrop-filter:blur(8px);
  }
  nav.wrap{display:flex;align-items:center;justify-content:space-between;height:76px;}
  .brand{color:var(--white);font-size:19px;font-weight:800;}
  .brand span{color:var(--gold);font-weight:500;}
  .navlinks{display:flex;gap:34px;align-items:center;}
  .navlinks a{color:var(--white);font-size:14px;opacity:0.82;}
  .navlinks a:hover{opacity:1;}
  .nav-cta{background:var(--teal);color:var(--white)!important;padding:10px 20px;border-radius:3px;font-weight:700;font-size:13.5px;opacity:1!important;}
  .nav-cta:hover{background:var(--teal-dark);}
  @media(max-width:760px){.navlinks a:not(.nav-cta){display:none;}}

  /* HERO — geometric overlapping panels, echoing the PowerPoint Designer motif */
  .hero{
    position:relative;overflow:hidden;
    background:var(--ink);
    color:var(--white);
    padding:110px 0 90px;
  }
  .hero-panels{position:absolute;inset:0;z-index:0;}
  .panel{position:absolute;}
  .p1{width:60%;height:160%;top:-30%;right:-10%;background:linear-gradient(160deg,var(--teal) 0%, var(--teal-dark) 100%);transform:rotate(8deg);opacity:0.9;}
  .p2{width:38%;height:140%;top:-20%;right:6%;background:rgba(0,0,0,0.35);transform:rotate(8deg);}
  .p3{width:20%;height:180%;top:-40%;right:-4%;background:rgba(255,199,44,0.18);transform:rotate(8deg);}
  .hero-inner{position:relative;z-index:1;max-width:640px;}
  .hero h1{font-size:clamp(34px,4.6vw,52px);line-height:1.12;margin:18px 0 22px;}
  .hero h1 span{color:var(--gold);}
  .hero p.lead{font-size:16.5px;color:rgba(255,255,255,0.78);max-width:480px;margin-bottom:32px;}
  .cta-row{display:flex;gap:16px;flex-wrap:wrap;}
  .btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;font-size:14.5px;font-weight:700;border-radius:3px;transition:all .2s;white-space:nowrap;}
  .btn-primary{background:var(--teal);color:var(--white);}
  .btn-primary:hover{background:var(--teal-dark);transform:translateY(-1px);}
  .btn-ghost{border:1px solid rgba(255,255,255,0.35);color:var(--white);}
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold);}
  .hero-stats{display:flex;gap:0;margin-top:60px;border-top:1px solid rgba(255,255,255,0.18);max-width:560px;position:relative;z-index:1;}
  .stat{flex:1;padding:20px 0;border-right:1px solid rgba(255,255,255,0.18);}
  .stat:last-child{border-right:none;}
  .stat .num{font-size:26px;font-weight:800;color:var(--gold);}
  .stat .label{font-size:11.5px;color:rgba(255,255,255,0.65);text-transform:uppercase;letter-spacing:0.06em;margin-top:4px;}

  .section{padding:96px 0;}
  .section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:52px;flex-wrap:wrap;gap:18px;border-bottom:1px solid var(--line);padding-bottom:26px;}
  .section-head h2{font-size:clamp(26px,3.2vw,38px);}
  .section-head p{max-width:400px;color:var(--stone);font-size:15px;}

  /* SOBRE */
  .about{background:var(--pale);}
  .about-grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:56px;align-items:center;}
  .portrait-frame{aspect-ratio:4/5;background:linear-gradient(160deg,var(--teal-dark),var(--ink));position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;}
  .portrait-frame img{width:100%;height:100%;object-fit:cover;}
  .about-copy p{margin-bottom:16px;color:#2B2B28;font-size:16px;}
  .creds{display:flex;gap:26px;margin-top:26px;flex-wrap:wrap;}
  .cred{font-size:12.5px;color:var(--stone);}
  .cred b{display:block;font-size:15px;color:var(--ink);font-weight:800;}
  @media(max-width:820px){.about-grid{grid-template-columns:1fr;}.portrait-frame{max-width:260px;margin:0 auto;}}

  /* TERRENOS */
  .terrenos{background:var(--white);}
  .property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .property{border:1px solid var(--line);display:flex;flex-direction:column;background:var(--white);}
  .property-visual{aspect-ratio:4/3;position:relative;overflow:hidden;background:var(--ink);}
  .property-visual img{width:100%;height:100%;object-fit:cover;}
  .property-tag{position:absolute;top:14px;left:14px;background:var(--teal);color:var(--white);font-size:11px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;padding:5px 10px;z-index:2;}
  .property-body{padding:22px 20px 24px;flex:1;display:flex;flex-direction:column;}
  .property-loc{font-size:12px;color:var(--teal);letter-spacing:0.03em;text-transform:uppercase;font-weight:700;margin-bottom:8px;}
  .property-title{font-size:19px;font-weight:800;margin-bottom:12px;}
  .property-specs{display:flex;gap:14px;font-size:12.5px;color:var(--stone);padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:14px;flex-wrap:wrap;}
  .property-highlights{list-style:none;margin-bottom:16px;padding:0;}
  .property-highlights li{font-size:13px;color:#2B2B28;padding-left:16px;position:relative;margin-bottom:5px;}
  .property-highlights li::before{content:'';position:absolute;left:0;top:8px;width:6px;height:6px;background:var(--teal);}
  .property-price{font-size:21px;font-weight:800;margin-bottom:16px;color:var(--ink);}
  .property-price span{font-size:11.5px;font-weight:500;color:var(--stone);display:block;text-transform:uppercase;letter-spacing:0.05em;}
  .property-cta{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--ink);color:var(--white);padding:13px;font-size:13.5px;font-weight:700;transition:background .2s;}
  .property-cta:hover{background:var(--teal);}
  @media(max-width:980px){.property-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:700px){.property-grid{grid-template-columns:1fr;}}

  /* CONDOMINIO — featured wide card with lots table */
  .empreendimento{border:1px solid var(--line);margin-bottom:40px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;}
  .empreendimento-visual{position:relative;min-height:320px;}
  .empreendimento-visual > img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
  .empreendimento-tag{position:absolute;top:16px;left:16px;background:var(--teal);color:var(--white);font-size:11px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;padding:6px 12px;z-index:2;}
  .empreendimento-body{padding:36px 34px;display:flex;flex-direction:column;}
  .empreendimento-body h3{font-size:23px;margin-bottom:10px;}
  .empreendimento-body .property-loc{margin-bottom:14px;}
  .empreendimento-body p.desc{font-size:14.5px;color:#2B2B28;margin-bottom:18px;}
  .amenities{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;}
  .amenity{font-size:11.5px;background:var(--pale);color:var(--teal-dark);padding:6px 11px;border-radius:2px;font-weight:600;}
  .lotes-table{width:100%;border-collapse:collapse;margin-bottom:22px;font-size:13.5px;}
  .lotes-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:0.04em;color:var(--stone);padding:8px 6px;border-bottom:1px solid var(--line);}
  .lotes-table td{padding:9px 6px;border-bottom:1px solid var(--line);}
  .lotes-table tr:last-child td{border-bottom:none;}
  .lotes-table .lote-btn{color:var(--teal);font-weight:700;font-size:12.5px;}
  .lotes-table .lote-btn:hover{text-decoration:underline;}
  @media(max-width:860px){.empreendimento{grid-template-columns:1fr;}.empreendimento-visual{min-height:220px;}}

  .dossier{background:var(--ink);color:var(--white);}
  .dossier .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
  .dossier-item{padding:42px 22px;border-right:1px solid rgba(255,255,255,0.15);text-align:center;}
  .dossier-item:last-child{border-right:none;}
  .dossier-item .n{font-size:32px;font-weight:800;color:var(--gold);}
  .dossier-item .t{font-size:12px;color:rgba(255,255,255,0.65);text-transform:uppercase;letter-spacing:0.05em;margin-top:6px;}
  @media(max-width:760px){.dossier .wrap{grid-template-columns:1fr 1fr;}.dossier-item{border-bottom:1px solid rgba(255,255,255,0.15);}}

  .contact{background:var(--teal-dark);color:var(--white);}
  .contact-grid{display:grid;grid-template-columns:1.2fr 0.8fr;gap:56px;align-items:center;}
  .contact h2{font-size:clamp(28px,3.6vw,40px);margin-bottom:16px;}
  .contact p{color:rgba(255,255,255,0.8);max-width:440px;margin-bottom:0;}
  .whatsapp-box{background:rgba(20,20,20,0.35);border:1px solid rgba(255,255,255,0.2);padding:34px;}
  .whatsapp-box h3{font-size:21px;margin:8px 0 18px;}
  .whatsapp-box a.btn{width:100%;justify-content:center;font-size:15px;padding:16px;}
  .whatsapp-box .fine{font-size:12.5px;color:rgba(255,255,255,0.6);margin-top:14px;}
  @media(max-width:820px){.contact-grid{grid-template-columns:1fr;}}

  footer{background:var(--ink);color:rgba(255,255,255,0.55);padding:30px 0;font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}
  footer a{color:var(--gold);}

  /* CARROSSEL DE FOTOS */
  .carousel{position:relative;width:100%;height:100%;overflow:hidden;cursor:pointer;}
  .carousel-track{display:flex;width:100%;height:100%;transition:transform .35s ease;}
  /* min-width:0 e font-size:0 sao obrigatorios: os slides 2+ nascem SEM src e,
     nesse estado, o navegador renderiza o texto do alt como conteudo da img.
     Como item de flex ela tem min-width:auto e nao encolhe abaixo desse texto,
     e o `1fr` do .property-grid (que e minmax(auto,1fr)) respeita esse minimo —
     o resultado eram colunas de larguras totalmente diferentes. O font-size:0
     zera o texto sem remover o atributo, entao leitor de tela e buscador
     continuam lendo o alt normalmente. */
  .carousel-track img{width:100%;height:100%;object-fit:cover;flex:0 0 100%;min-width:0;font-size:0;}
  .carousel-track .video-slide{position:relative;width:100%;height:100%;flex:0 0 100%;min-width:0;}
  .carousel-track .video-slide video{width:100%;height:100%;object-fit:cover;display:block;}
  .video-badge{position:absolute;top:14px;right:14px;background:rgba(20,20,20,0.62);color:var(--white);font-size:11px;font-weight:600;padding:5px 9px;border-radius:12px;z-index:3;display:flex;align-items:center;gap:4px;letter-spacing:0.02em;}
  .carousel-arrow{
    position:absolute;top:50%;transform:translateY(-50%);
    width:32px;height:32px;border-radius:50%;
    background:rgba(20,20,20,0.55);color:var(--white);
    display:flex;align-items:center;justify-content:center;
    font-size:16px;z-index:3;border:none;cursor:pointer;
    transition:background .2s;
  }
  .carousel-arrow:hover{background:rgba(20,20,20,0.85);}
  .carousel-arrow.prev{left:10px;}
  .carousel-arrow.next{right:10px;}
  .carousel-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:6px;z-index:3;}
  .carousel-dots span{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.5);transition:background .2s;}
  .carousel-dots span.active{background:var(--white);}
  .carousel-count{position:absolute;bottom:10px;right:10px;background:rgba(20,20,20,0.55);color:var(--white);font-size:11px;padding:3px 8px;border-radius:10px;z-index:3;}

  /* LIGHTBOX */
  .lightbox{
    position:fixed;inset:0;background:rgba(6,12,18,0.94);
    display:none;align-items:center;justify-content:center;
    z-index:200;padding:40px;
  }
  .lightbox.open{display:flex;}
  .lightbox-inner{position:relative;max-width:1000px;width:100%;max-height:88vh;display:flex;align-items:center;justify-content:center;}
  .lightbox-inner img{max-width:100%;max-height:88vh;object-fit:contain;}
  .lightbox-inner video{max-width:100%;max-height:88vh;object-fit:contain;}
  .lightbox-close{
    position:absolute;top:-46px;right:0;
    width:36px;height:36px;border-radius:50%;
    background:rgba(255,255,255,0.12);color:var(--white);
    display:flex;align-items:center;justify-content:center;
    font-size:20px;border:none;cursor:pointer;
  }
  .lightbox-close:hover{background:rgba(255,255,255,0.22);}
  .lightbox-arrow{
    position:absolute;top:50%;transform:translateY(-50%);
    width:46px;height:46px;border-radius:50%;
    background:rgba(255,255,255,0.12);color:var(--white);
    display:flex;align-items:center;justify-content:center;
    font-size:22px;border:none;cursor:pointer;z-index:3;
  }
  .lightbox-arrow:hover{background:rgba(255,255,255,0.24);}
  .lightbox-arrow.prev{left:-64px;}
  .lightbox-arrow.next{right:-64px;}
  @media(max-width:760px){
    .lightbox{padding:20px;}
    .lightbox-arrow.prev{left:4px;}
    .lightbox-arrow.next{right:4px;}
    .lightbox-close{top:-40px;right:4px;}
  }
  .lightbox-caption{position:absolute;bottom:-34px;left:0;right:0;text-align:center;color:rgba(255,255,255,0.7);font-size:13px;}

  [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease;}
  [data-reveal].in{opacity:1;transform:translateY(0);}
  @media (prefers-reduced-motion: reduce){[data-reveal]{opacity:1!important;transform:none!important;transition:none!important;}html{scroll-behavior:auto;}}
  a:focus-visible,button:focus-visible{outline:2px solid var(--teal);outline-offset:3px;}

  /* INSTAGRAM LINK */
  .ig-link{display:inline-flex;align-items:center;gap:7px;}
  .ig-link svg{width:16px;height:16px;flex-shrink:0;}
  .nav-ig{opacity:0.82;}
  .nav-ig:hover{opacity:1;}
  .footer-ig{color:var(--white);}

  /* REGIÃO */
  .region{background:var(--pale);}
  .region-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:56px;align-items:start;}
  .region-copy p{font-size:15.5px;color:#2B2B28;margin-bottom:16px;}
  .region-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
  .region-stat{background:var(--white);padding:24px 20px;}
  .region-stat .n{font-size:24px;font-weight:800;color:var(--teal);}
  .region-stat .t{font-size:12px;color:var(--stone);text-transform:uppercase;letter-spacing:0.04em;margin-top:4px;}

  /* TURISMO */
  .turismo{background:var(--white);}
  .turismo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .turismo-card{border:1px solid var(--line);display:flex;flex-direction:column;}
  .turismo-top{
    aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;
    font-size:34px;color:rgba(255,255,255,0.92);position:relative;
  }
  .turismo-top span.emoji{position:relative;z-index:1;}
  .turismo-body{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1;}
  .turismo-cat{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--teal);margin-bottom:6px;}
  .turismo-title{font-size:17px;font-weight:800;margin-bottom:8px;}
  .turismo-desc{font-size:13.5px;color:#3A3A36;flex:1;margin-bottom:14px;}
  .turismo-ig{font-size:13px;font-weight:700;color:var(--ink);}
  .turismo-ig:hover{color:var(--teal);}
  .turismo-note{font-size:13px;color:var(--stone);margin-top:32px;border-top:1px solid var(--line);padding-top:20px;}
  .turismo-note a{color:var(--teal);font-weight:600;}
  @media(max-width:980px){.turismo-grid{grid-template-columns:1fr 1fr;} .region-grid{grid-template-columns:1fr;}}
  @media(max-width:700px){.turismo-grid{grid-template-columns:1fr;}}

  /* NAVEGACAO PARA AS PAGINAS INTERNAS (visivel tambem no mobile, onde o
     menu do topo esconde os links e deixa so o botao de WhatsApp) */
  .explore{padding:64px 0;background:var(--pale);border-top:1px solid var(--line);}
  .explore-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px;}
  .explore-card{
    display:block;background:var(--white);border:1px solid var(--line);
    padding:26px 24px;text-decoration:none;transition:border-color .2s,transform .2s;
  }
  .explore-card:hover{border-color:var(--gold);transform:translateY(-2px);}
  .explore-card .eyebrow{margin-bottom:8px;}
  .explore-card h3{font-size:19px;line-height:1.3;color:var(--ink);margin:0 0 8px;}
  .explore-card p{font-size:14.5px;color:var(--stone);margin:0 0 14px;line-height:1.5;}
  .explore-card span{font-size:14px;font-weight:700;color:var(--teal);}
  @media(max-width:700px){.explore-grid{grid-template-columns:1fr;gap:14px;}.explore{padding:48px 0;}}
