    :root{
      /* CORES (logo) */
      --navy:#0A3157;
      --navy2:#062744;
      --teal:#056399;
      --green:#4BA628;
      --green2:#1F8D2C;
      --mint:#BFE7C5;
      --gold:#F4A418;

      /* UI */
      --bg:#ffffff;
      --ink:#0b1220;
      --muted:rgba(11,18,32,.65);
      --line:rgba(10,49,87,.16);

      --wrap:min(1200px, calc(100% - 56px));
      --r16:16px;
      --r18:18px;
      --r22:22px;
      --shadow:0 18px 45px rgba(10,49,87,.16);
      --shadow2:0 10px 28px rgba(10,49,87,.12);
      --t:220ms cubic-bezier(.2,.8,.2,1);

      /* TOPBAR */
      --topbar-h: 72px;

      /* TIPOGRAFIA (aumentada) */
      --fz-11: 12px;
      --fz-12: 13px;
      --fz-13: 14px;
      --fz-14: 15px;
      --fz-16: 16px;
      --fz-18: 18px;
    }

    *{ box-sizing:border-box; }
    html{ scroll-behavior:smooth; }
    body{
      margin:0;
      font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      color:var(--ink);
      background:#fff;
      overflow-x:hidden;
      font-size: var(--fz-16);
      line-height: 1.5;
    }
    /* =========================================================
      FIX: mesma tipografia nos forms (inputs/textarea/buttons)
    ========================================================= */
    input, textarea, select, button{
      font-family: inherit;
      font-size: inherit;
      line-height: inherit;
      letter-spacing: inherit;
    }

    /* Avaliação Pro */
    .vfield input,
    .vfield textarea,
    .vform button{
      font-family: inherit;
    }

    /* Contactos */
    .cform input,
    .cform textarea,
    .cform button{
      font-family: inherit;
    }

    .vfield input::placeholder,
    .vfield textarea::placeholder,
    .cform input::placeholder,
    .cform textarea::placeholder{
      font-family: inherit;
      opacity: .75;
    }


    a{ color:inherit; text-decoration:none; }
    img{ max-width:100%; display:block; }
    .wrap{ width:var(--wrap); margin:0 auto; }
    .sr{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }

    /* =========================================================
       TOP NAV (logo maior + menu clean)
    ========================================================= */
    .topbar{
      position:fixed;
      inset:0 0 auto 0;
      z-index:50;
      background:rgba(255,255,255,.78);
      backdrop-filter: blur(10px);
      border-bottom:1px solid rgba(10,49,87,.10);
    }
    .topbar .row{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:18px;
      padding: 12px 0;
      min-height: var(--topbar-h);
    }
    .logo{
      display:flex; align-items:center; gap:10px;
      position:absolute; left: calc((100% - var(--wrap)) / 2);
    }
    .logo img{
      width:68px; height:68px; /* DOBRO do anterior (34px) */
      object-fit:contain;
    }
    .menu{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:18px;
      font-size: var(--fz-12);
      font-weight:700;
      color:rgba(10,49,87,.78);
    }
    .menu a{ padding:10px 8px; border-radius:12px; transition:var(--t); }
    .menu a:hover{ background:rgba(10,49,87,.06); color:rgba(10,49,87,.92); }

    .hamb{
      display:none;
      position:absolute;
      right: calc((100% - var(--wrap)) / 2);
      width:46px; height:46px;
      border-radius: 14px;
      border: 1px solid rgba(10,49,87,.18);
      background: rgba(255,255,255,.88);
      cursor:pointer;
      font-weight:900;
      color:var(--navy);
    }

    @media (max-width: 980px){
      :root{ --topbar-h: 72px; }
      .logo{ left: 18px; position:relative; }
      .logo img{ width:54px; height:54px; }
      .topbar .row{ justify-content:space-between; }
      .menu{ display:none; }
      .hamb{ display:inline-flex; align-items:center; justify-content:center; right:18px; }
    }

    /* Drawer mobile */
    .drawer{
      position:fixed;
      inset:0;
      z-index:90;
      display:none;
    }
    .drawer.open{ display:block; }
    .drawer .backdrop{
      position:absolute; inset:0;
      background: rgba(10,49,87,.36);
      backdrop-filter: blur(8px);
      opacity:0;
      transition: var(--t);
    }
    .drawer.open .backdrop{ opacity:1; }
    .drawer .panel{
      position:absolute;
      top: 10px; right: 10px;
      width: min(420px, calc(100% - 20px));
      border-radius: 18px;
      background: rgba(255,255,255,.94);
      border: 1px solid rgba(10,49,87,.14);
      box-shadow: var(--shadow);
      transform: translateX(18px);
      opacity:0;
      transition: var(--t);
      overflow:hidden;
    }
    .drawer.open .panel{ transform:translateX(0); opacity:1; }
    .drawer header{
      display:flex; align-items:center; justify-content:space-between;
      padding: 12px 12px;
      border-bottom: 1px solid rgba(10,49,87,.12);
    }
    .drawer header .b{
      display:flex; align-items:center; gap:10px;
      font-weight:900; color:var(--navy);
    }
    .drawer header img{ width:44px; height:44px; object-fit:contain; }
    .drawer nav{
      display:flex; flex-direction:column; gap:6px;
      padding: 10px;
    }
    .drawer nav a{
      padding: 12px 12px;
      border-radius: 14px;
      color: rgba(10,49,87,.90);
      font-weight: 800;
      transition: var(--t);
      border: 1px solid transparent;
      font-size: var(--fz-13);
    }
    .drawer nav a:hover{
      background: rgba(5,99,153,.08);
      border-color: rgba(5,99,153,.18);
    }
    .drawer .xbtn{
      width:46px; height:46px;
      border-radius: 14px;
      border: 1px solid rgba(10,49,87,.18);
      background: rgba(255,255,255,.90);
      cursor:pointer;
      font-weight:900;
      color:var(--navy);
    }

    /* =========================================================
       BOTÕES
    ========================================================= */
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding: 12px 20px;
      border-radius: 10px;
      font-weight: 800;
      font-size: var(--fz-13);
      border: 1px solid rgba(10,49,87,.18);
      background: #fff;
      color: rgba(10,49,87,.74);
      cursor:pointer;
      transition: var(--t);
      user-select:none;
      box-shadow: 0 10px 18px rgba(10,49,87,.10);
    }
    .btn:hover{ transform: translateY(-1px); box-shadow: 0 16px 26px rgba(10,49,87,.14); }
    .btn:active{ transform: translateY(0); }

    .btn.green{
      border-color: rgba(75,166,40,.35);
      color: #ffffff;
      background: linear-gradient(180deg, rgba(168,231,180,.95), rgba(75,166,40,.88));
      text-shadow: 0 1px 0 rgba(0,0,0,.14);
      box-shadow: 0 12px 18px rgba(75,166,40,.18);
    }
    .btn.green:hover{ filter: brightness(1.02); }

    .btn.white{
      background: rgba(255,255,255,.96);
      color: rgba(10,49,87,.70);
      border-color: rgba(10,49,87,.14);
      box-shadow: 0 10px 18px rgba(10,49,87,.10);
    }

    /* =========================================================
       HERO (FULLSCREEN)
    ========================================================= */
    .hero{
      position:relative;
      min-height: 100vh;
      min-height: 100svh;
      min-height: 100dvh;
      padding-top: var(--topbar-h);
      overflow:hidden;
      background: #f6f7f8;
    }
    .hero .bg{
      position:absolute;
      inset:0;
      background: #e9eef2;
      background-position:center;
      background-size:cover;
      background-repeat:no-repeat;
      filter: saturate(1.02);
      transform: scale(1.02);
    }
    .hero .veil{
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg,
          rgba(255,255,255,.88) 0%,
          rgba(255,255,255,.80) 28%,
          rgba(255,255,255,.42) 56%,
          rgba(255,255,255,.10) 74%,
          rgba(255,255,255,0) 100%);
    }
    .hero .wrap{
      position:relative;
      min-height: calc(100vh - var(--topbar-h));
      min-height: calc(100svh - var(--topbar-h));
      min-height: calc(100dvh - var(--topbar-h));
      display:flex;
      align-items:center;
      padding: 44px 0 44px;
    }
    .hero .content{
      width: min(690px, 100%);
      padding-left: 4px;
    }
    .hero h1{
      margin:0;
      font-size: 58px;
      line-height: 1.05;
      letter-spacing: -1.5px;
      font-weight: 900;
      color: rgba(16,24,40,.88);
    }
    .hero .rule{
      margin-top: 18px;
      height: 1px;
      width: 540px;
      max-width: 100%;
      background: rgba(16,24,40,.55);
    }
    .hero p{
      margin: 16px 0 0;
      font-size: var(--fz-14); /* aumentado */
      color: rgba(16,24,40,.58);
      max-width: 520px;
      line-height: 1.55;
    }
    .hero .actions{
      display:flex;
      gap:14px;
      margin-top: 20px;
    }

    @media (max-width: 980px){
      .hero .wrap{
        align-items:flex-end;
        padding: 32px 0 22px;
      }
      .hero h1{ font-size: 44px; }
      .hero p{ font-size: var(--fz-14); }
      .hero .veil{
        background: linear-gradient(180deg,
          rgba(255,255,255,.88) 0%,
          rgba(255,255,255,.78) 40%,
          rgba(255,255,255,.30) 70%,
          rgba(255,255,255,.08) 100%);
      }
    }
    @media (max-width: 560px){
      .hero h1{ font-size: 38px; }
      .hero .actions{ flex-wrap:wrap; }
      .hero .rule{ width: 100%; }
    }

    /* =========================================================
       ABOUT
    ========================================================= */
    .about{
      padding: 60px 0 66px;
      background:#fff;
    }
    .about .grid{
      display:grid;
      grid-template-columns: 520px 1fr;
      gap: 54px;
      align-items:center;
    }
    .about .photo{
      border-radius: 12px;
      overflow:hidden;
      box-shadow: var(--shadow2);
      background: #eef2f5;
      background-position:center;
      background-size:cover;
      background-repeat:no-repeat;
      min-height: 380px;
    }
    .about h2{
      margin:0;
      font-size: 28px;
      letter-spacing: -.6px;
      color: rgba(16,24,40,.92);
      font-weight: 900;
      line-height: 1.2;
    }
    .about .sub{
      margin: 12px 0 0;
      font-size: var(--fz-13); /* aumentado */
      font-weight: 800;
      color: rgba(5,99,153,.85);
    }
    .about .text{
      margin: 18px 0 0;
      color: rgba(16,24,40,.62);
      font-size: var(--fz-13); /* aumentado */
      line-height: 1.75;
      max-width: 66ch;
    }
    .about .text + .text{ margin-top: 12px; }
    .about .who{
      margin-top: 20px;
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap: 20px;
      flex-wrap:wrap;
    }
    .about .who .name{
      font-weight: 900;
      color: rgba(16,24,40,.92);
      font-size: var(--fz-13);
    }
    .about .who .role{
      font-size: var(--fz-12);
      color: rgba(16,24,40,.60);
      font-weight: 800;
      margin-top: 4px;
    }
    .about .sig{
      width: 140px;
      height: 46px;
      opacity:.85;
      background-position:center;
      background-size:contain;
      background-repeat:no-repeat;
    }
    @media (max-width: 980px){
      .about .grid{ grid-template-columns: 1fr; gap: 20px; }
      .about .photo{ min-height: 300px; }
    }

    /* =========================================================
       PROCESSO 6 ETAPAS
    ========================================================= */
    .process{
      position:relative;
      padding: 52px 0 68px;
      background: #cfe0e6;
      overflow:hidden;
    }
    .process .bg{
      position:absolute;
      inset:0;
      background: #cfe0e6;
      background-position:right center;
      background-size:contain;
      background-repeat:no-repeat;
      opacity:.40;
      pointer-events:none;
      mix-blend-mode: multiply;
      transform: translateX(18px);
    }
    .process .head{
      text-align:center;
      position:relative;
      z-index:1;
    }
    .process h3{
      margin:0;
      font-weight: 600;
      color: rgba(16,24,40,.82);
      font-size: 26px;
      letter-spacing: -.4px;
    }
    .process p{
      margin: 12px auto 0;
      color: rgba(16,24,40,.66);
      font-size: var(--fz-14); /* aumentado */
      letter-spacing: -.2px;
      max-width: 64ch;
    }

    .steps{
      position:relative;
      z-index:1;
      margin-top: 24px;
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px 26px;
      align-items:stretch;
    }
    .step{
      position:relative;
      border-radius: 10px;
      background: rgba(255,255,255,.94);
      border: 1px solid rgba(16,24,40,.08);
      box-shadow: 0 18px 26px rgba(16,24,40,.12);
      padding: 26px 18px;
      min-height: 116px;
      display:flex;
      align-items:center;
      justify-content:center;
      text-align:center;
      color: rgba(16,24,40,.74);
      font-size: var(--fz-13); /* aumentado */
      font-weight: 700;
      line-height: 1.55;
    }
    .step .num{
      position:absolute;
      top: -12px;
      left: -12px;
      width: 36px;
      height: 36px;
      border-radius: 10px;
      display:flex;
      align-items:center;
      justify-content:center;
      font-weight: 900;
      font-size: 14px;
      color:#fff;
      box-shadow: 0 14px 18px rgba(16,24,40,.16);
    }
    .num.navy{ background: #183b63; }
    .num.mint{ background: #c8f2b9; color: rgba(16,24,40,.78); }

    @media (max-width: 980px){
      .steps{ grid-template-columns: 1fr; }
      .step .num{ left: 10px; top: -12px; }
    }

    /* =========================================================
       DIFERENCIAÇÃO
    ========================================================= */
    .diff{
      padding: 60px 0 68px;
      background:#fff;
    }
    .diff .grid{
      display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap: 44px;
      align-items:start;
    }
    .diff .cards{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
    }
    .imgcard{
      border-radius: 12px;
      overflow:hidden;
      position:relative;
      min-height: 190px;
      box-shadow: var(--shadow2);
      background: #dfe7ee;
      border: 1px solid rgba(10,49,87,.10);
    }
    .imgcard .bg{
      position:absolute; inset:0;
      background-size: cover;
      background-position:center;
      background-repeat:no-repeat;
      filter: saturate(1.02) contrast(1.02);
    }
    .imgcard .shade{
      position:absolute; inset:0;
      background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.45) 100%);
    }
    .imgcard .cap{
      position:absolute;
      left: 14px;
      bottom: 12px;
      right: 14px;
      color: #fff;
      font-weight: 900;
      font-size: 15px; /* aumentado */
      line-height: 1.2;
      text-shadow: 0 10px 20px rgba(0,0,0,.35);
    }
    .imgcard .tiny{ display:none; } /* removido "Your text" */

    .diff .right h4{
      margin:0;
      font-size: 28px;
      font-weight: 600;
      color: rgba(16,24,40,.86);
      letter-spacing: -.4px;
    }
    .diff .right .ghost{
      margin-top: 12px;
      font-size: var(--fz-13);
      color: rgba(16,24,40,.52);
      line-height: 1.65;
    }
    .diff .list{
      margin-top: 18px;
      display:grid;
      gap: 14px;
    }
    .ditem{
      display:grid;
      grid-template-columns: 18px 1fr;
      gap: 12px;
      align-items:start;
    }
    .ditem .ic{
      width: 18px; height: 18px;
      display:flex; align-items:center; justify-content:center;
      color: rgba(24,59,99,.92);
      transform: translateY(2px);
    }
    .ditem b{
      display:block;
      font-size: var(--fz-13);
      color: rgba(16,24,40,.82);
      font-weight: 900;
    }
    .ditem span{
      display:block;
      margin-top: 4px;
      font-size: var(--fz-13);
      color: rgba(16,24,40,.62);
      line-height: 1.55;
      font-weight: 600;
    }
    .diff .add{ display:none; } /* removidos botões "Add item" / "Add button" */

    @media (max-width: 980px){
      .diff .grid{ grid-template-columns: 1fr; gap: 22px; }
      .diff .cards{ grid-template-columns: 1fr; }
    }

    /* =========================================================
       AVALIAÇÃO (mantém)
    ========================================================= */
    .valuation{
      position:relative;
      padding: 50px 0 56px;
      background: #0b1624;
      overflow:hidden;
    }
    .valuation .bg{
      position:absolute; inset:0;
      background: #0b1624;
      background-position:center;
      background-size:cover;
      background-repeat:no-repeat;
      filter: saturate(.95) contrast(1.05);
      opacity:.70;
      transform: scale(1.02);
    }
    .valuation .veil{
      position:absolute; inset:0;
      background: linear-gradient(90deg,
        rgba(11,22,36,.92) 0%,
        rgba(11,22,36,.90) 44%,
        rgba(11,22,36,.74) 62%,
        rgba(11,22,36,.40) 76%,
        rgba(11,22,36,.18) 100%);
    }
    .valuation .wrap{ position:relative; z-index:1; }
    .valuation h3{
      margin:0;
      text-align:center;
      color: rgba(255,255,255,.92);
      font-weight: 700;
      letter-spacing: .4px;
      font-size: 20px;
      line-height: 1.25;
    }
    .valuation .grid{
      margin-top: 22px;
      display:grid;
      grid-template-columns: 1fr 420px;
      gap: 26px;
      align-items:start;
    }
    .valuation .left{
      color: rgba(255,255,255,.88);
      font-size: var(--fz-13);
      line-height: 1.75;
    }
    .valuation .q{
      font-weight: 900;
      font-size: var(--fz-14);
      margin: 6px 0 10px;
      color: rgba(255,255,255,.92);
    }
    .valuation .small{
      color: rgba(255,255,255,.70);
      font-size: var(--fz-13);
      line-height: 1.7;
      margin: 0 0 18px;
    }
    .valuation .h{
      font-weight: 900;
      margin: 18px 0 10px;
      color: rgba(255,255,255,.92);
      letter-spacing: .2px;
      font-size: var(--fz-13);
    }
    .valuation ol{
      margin: 0;
      padding-left: 18px;
      color: rgba(255,255,255,.82);
      line-height: 1.9;
      font-size: var(--fz-13);
    }
    .valuation .foot{
      margin-top: 18px;
      color: rgba(255,255,255,.86);
      font-weight: 800;
      font-size: var(--fz-13);
    }
    .valuation .foot b{ display:block; letter-spacing:.2px; }
    .valuation .foot span{ color: rgba(255,255,255,.70); font-weight: 700; }

    .vform{
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.16);
      border-radius: 12px;
      padding: 0;
      overflow:hidden;
      box-shadow: 0 18px 34px rgba(0,0,0,.25);
    }
    .vform .fields{
      padding: 14px;
      display:grid;
      gap: 12px;
    }
    .vfield input,
    .vfield textarea{
      width:100%;
      border: 0;
      outline: none;
      border-radius: 8px;
      padding: 12px 12px;
      font-size: var(--fz-13);
      color: rgba(16,24,40,.82);
      background: rgba(255,255,255,.96);
      box-shadow: inset 0 0 0 1px rgba(16,24,40,.12);
    }
    .vfield textarea{
      min-height: 118px;
      resize:none;
    }
    .vfield .req{
      float:right;
      margin-top: -24px;
      margin-right: 10px;
      color: rgba(16,24,40,.50);
      font-weight: 900;
      font-size: 14px;
      pointer-events:none;
    }
    .vform .submitWrap{
      padding: 0 14px 14px;
      display:flex;
      justify-content:center;
    }
    .vform button{
      width: 270px;
      max-width: 100%;
      padding: 12px 16px;
      border-radius: 10px;
      border: 1px solid rgba(75,166,40,.35);
      background: linear-gradient(180deg, rgba(168,231,180,.95), rgba(75,166,40,.88));
      color: #fff;
      font-weight: 800;
      font-size: var(--fz-13);
      cursor:pointer;
      box-shadow: 0 14px 20px rgba(75,166,40,.18);
      transition: var(--t);
      text-shadow: 0 1px 0 rgba(0,0,0,.15);
    }
    .vform button:hover{ transform: translateY(-1px); filter: brightness(1.02); }
    .vform button:active{ transform: translateY(0); }

    @media (max-width: 980px){
      .valuation .grid{ grid-template-columns: 1fr; }
      .valuation .veil{ background: rgba(11,22,36,.86); }
      .vform button{ width: 100%; }
    }

    /* =========================================================
      PARCEIROS / GRUPO (COMPACTO: logos lado a lado)
    ========================================================= */
    .partners{
      padding: 18px 0 64px; /* ✅ adiciona espaço em baixo */
      background: transparent;
    }

    /* Opcional mas recomendado: garante que o conteúdo não cola ao fim */
    .pmini{
      margin: 18px auto 0;
      width: min(720px, 100%);
      text-align:center;
    }

    /* Em mobile dá ainda mais conforto */
    @media (max-width: 980px){
      .partners{ padding-bottom: 72px; }
    }

    .pmini h4{
      margin:0;
      font-size: 16px;
      font-weight: 900;
      letter-spacing: -.2px;
      color: rgba(16,24,40,.86);
    }
    .pmini p{
      margin: 10px auto 0;
      font-size: var(--fz-13);
      color: rgba(16,24,40,.60);
      line-height: 1.65;
      font-weight: 600;
      max-width: 62ch;
    }

    .plogos{
      margin-top: 14px;
      display:flex;
      gap: 12px;
      justify-content:center;
      flex-wrap:wrap;
    }
    .plogo{
      display:flex;
      align-items:center;
      gap: 10px;
      padding: 10px 12px;
      border-radius: 12px;
      border: 1px solid rgba(10,49,87,.12);
      background: rgba(255,255,255,.70);
      box-shadow: 0 12px 22px rgba(10,49,87,.10);
      transition: var(--t);
      min-width: min(320px, 100%);
      justify-content:flex-start;
      text-align:left;
    }
    .plogo:hover{
      transform: translateY(-1px);
      box-shadow: 0 16px 28px rgba(10,49,87,.14);
    }
    .plogo img{
      width: 54px;
      height: 54px;
      object-fit: contain;
      display:block;
      flex: 0 0 auto;
    }
    .plogo span{
      font-size: var(--fz-13);
      font-weight: 900;
      color: rgba(10,49,87,.86);
      line-height: 1.2;
    }


    /* =========================================================
       IMÓVEIS
    ========================================================= */
    .featured{
      padding: 48px 0 56px;
      background: #1e2a3a;
      color: rgba(255,255,255,.92);
    }
    .featured h3{
      margin:0;
      text-align:center;
      font-size: 30px;
      font-weight: 900;
      letter-spacing: -.6px;
      line-height: 1.15;
    }
    .featured .sub{
      margin: 12px auto 0;
      text-align:center;
      color: rgba(255,255,255,.70);
      font-size: var(--fz-13);
      max-width: 58ch;
      font-weight: 600;
    }
    .props{
      margin-top: 24px;
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 26px;
      align-items:start;
    }
    .propCard{
      border-radius: 12px;
      overflow:hidden;
      background: rgba(255,255,255,.04);
      border: 1px solid rgba(255,255,255,.06);
      box-shadow: 0 18px 34px rgba(0,0,0,.22);
    }
    .propCard .img{
      height: 310px;
      background: rgba(255,255,255,.06);
      background-size: cover;
      background-position:center;
      background-repeat:no-repeat;
      filter: saturate(1.02);
    }
    .propCard .info{ padding: 16px 16px 18px; }
    .propCard .title{
      font-size: 22px;
      font-weight: 900;
      font-style: italic;
      text-decoration: underline;
      text-underline-offset: 6px;
      margin: 0;
    }
    .propCard .meta{
      margin-top: 12px;
      color: rgba(255,255,255,.74);
      font-size: var(--fz-13);
      line-height: 1.7;
      font-weight: 600;
    }
    .propCard .addr{
      margin-top: 10px;
      color: rgba(255,255,255,.82);
      font-size: var(--fz-13);
      line-height: 1.7;
      font-weight: 600;
    }
    .propCard .more{
      margin-top: 12px;
      display:inline-flex;
      align-items:center;
      gap: 10px;
      color: rgba(120,180,255,.88);
      font-size: var(--fz-13);
      font-weight: 900;
    }
    .propCard .more b{
      font-size: 18px;
      transform: translateY(-1px);
    }

    .rightProps{ display:grid; gap: 16px; }
    .rightProps .topInfo{ padding: 10px 0 0; }
    .rightProps .topInfo .title{
      font-size: 22px;
      font-weight: 900;
      font-style: italic;
      text-decoration: underline;
      text-underline-offset: 6px;
      margin: 0;
      color: rgba(255,255,255,.92);
    }
    .rightProps .topInfo .meta{
      margin-top: 12px;
      color: rgba(255,255,255,.74);
      font-size: var(--fz-13);
      line-height: 1.7;
      font-weight: 600;
    }
    .rightProps .topInfo .addr{
      margin-top: 10px;
      color: rgba(255,255,255,.82);
      font-size: var(--fz-13);
      line-height: 1.7;
      font-weight: 600;
    }
    .rightProps .topInfo .more{ margin-top: 12px; }
    .rightProps .miniImg{
      height: 260px;
      border-radius: 10px;
      overflow:hidden;
      background: rgba(255,255,255,.06);
      background-size: cover;
      background-position:center;
      background-repeat:no-repeat;
      border: 1px solid rgba(255,255,255,.06);
      box-shadow: 0 18px 34px rgba(0,0,0,.22);
    }

    .moreRow{
      margin-top: 30px;
      text-align:center;
      color: rgba(255,255,255,.92);
      font-weight: 900;
      font-size: var(--fz-14);
      letter-spacing: -.2px;
    }

    .carousel{
      margin-top: 18px;
      display:grid;
      grid-template-columns: 48px 1fr 48px;
      gap: 10px;
      align-items:center;
    }
    .carBtn{
      width:48px; height:48px;
      border-radius: 10px;
      border: 1px solid rgba(255,255,255,.10);
      background: rgba(255,255,255,.06);
      color: rgba(255,255,255,.86);
      cursor:pointer;
      font-size: 22px;
      font-weight: 900;
      transition: var(--t);
    }
    .carBtn:hover{ background: rgba(255,255,255,.10); transform: translateY(-1px); }
    .carBtn:active{ transform: translateY(0); }
    .carTrack{ overflow:hidden; border-radius: 10px; }
    .carInner{
      display:flex;
      gap: 14px;
      transform: translateX(0);
      transition: transform var(--t);
      will-change: transform;
    }
    .thumb{
      flex: 0 0 auto;
      width: calc((100% - 42px) / 4);
      min-width: 210px;
      height: 190px;
      border-radius: 10px;
      overflow:hidden;
      background: rgba(255,255,255,.06);
      background-size: cover;
      background-position:center;
      background-repeat:no-repeat;
      border: 1px solid rgba(255,255,255,.08);
      box-shadow: 0 18px 34px rgba(0,0,0,.18);
    }
    @media (max-width: 1100px){
      .thumb{ width: 260px; min-width: 260px; }
    }
    @media (max-width: 980px){
      .props{ grid-template-columns: 1fr; }
      .thumb{ width: 240px; min-width: 240px; }
    }

    /* =========================================================
       TESTEMUNHOS
    ========================================================= */
    .testimonials{
      position:relative;
      height: 160px;
      background: #111a26;
      overflow:hidden;
    }
    .testimonials .bg{
      position:absolute; inset:0;
      background: #111a26;
      background-position:center;
      background-size:cover;
      background-repeat:no-repeat;
      filter: grayscale(1) contrast(1.05);
      opacity:.42;
      transform: scale(1.02);
    }
    .testimonials .veil{
      position:absolute; inset:0;
      background: radial-gradient(900px 220px at 40% 50%, rgba(255,255,255,.08), rgba(0,0,0,.34) 60%, rgba(0,0,0,.55) 100%);
    }
    .tbox{
      position:relative;
      z-index:1;
      width: min(900px, calc(100% - 80px));
      margin: 0 auto;
      top: 26px;
      border-radius: 10px;
      padding: 18px 22px;
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.10);
      box-shadow: 0 18px 34px rgba(0,0,0,.30);
      color:#fff;
      display:flex;
      gap: 18px;
      align-items:flex-start;
    }
    .tmark{
      font-size: 46px;
      line-height: 1;
      color: rgba(168,231,180,.70);
      font-weight: 900;
      transform: translateY(-4px);
    }
    .tcontent{ flex:1; display:grid; gap: 8px; }
    .tname{
      font-weight: 900;
      font-size: var(--fz-13);
      color: rgba(255,255,255,.90);
    }
    .tquote{
      margin:0;
      font-size: var(--fz-13);
      color: rgba(255,255,255,.78);
      line-height: 1.6;
      font-weight: 600;
    }
    .tdots{
      display:flex;
      flex-direction:column;
      gap: 8px;
      margin-left:auto;
      margin-top: 4px;
    }
    .tdot{
      width: 6px;
      height: 6px;
      border-radius: 99px;
      border: 0;
      background: rgba(255,255,255,.28);
      cursor:pointer;
      transition: var(--t);
    }
    .tdot.active{
      background: rgba(168,231,180,.88);
      height: 18px;
      border-radius: 99px;
    }
    @media (max-width: 700px){
      .tbox{ width: calc(100% - 26px); padding: 14px 14px; }
      .tdots{ flex-direction:row; margin-top: 0; }
    }

    /* =========================================================
       CONTACTOS (ALTERADO: só formulário)
    ========================================================= */
    .contact{
      position:relative;
      padding: 52px 0 64px;
      background:#e9ecef;
      overflow:hidden;
    }
    .contact .bg{
      position:absolute; inset:0;
      background: #e9ecef;
      background-position:center;
      background-size:cover;
      background-repeat:no-repeat;
      filter: saturate(1.0);
      opacity:.88;
      transform: scale(1.02);
    }
    .contact .veil{
      position:absolute; inset:0;
      background: linear-gradient(90deg,
        rgba(255,255,255,.72) 0%,
        rgba(255,255,255,.68) 40%,
        rgba(255,255,255,.48) 58%,
        rgba(255,255,255,.24) 74%,
        rgba(255,255,255,.12) 100%);
    }
    .contact .wrap{ position:relative; z-index:1; }
    .contact h3{
      margin:0 0 18px;
      text-align:center;
      font-weight: 900;
      color: rgba(16,24,40,.82);
      letter-spacing: -.2px;
      font-size: 22px;
    }
    .contact .lead{
      margin: 0 auto 20px;
      text-align:center;
      color: rgba(16,24,40,.62);
      font-size: var(--fz-13);
      max-width: 62ch;
      font-weight: 600;
      line-height: 1.65;
    }

    .cform{
      width: min(520px, 100%);
      margin: 0 auto;
      border-radius: 12px;
      background: rgba(255,255,255,.26);
      border: 1px solid rgba(16,24,40,.12);
      padding: 0;
      overflow:hidden;
      box-shadow: 0 18px 34px rgba(16,24,40,.18);
      backdrop-filter: blur(10px);
    }
    .cform .fields{
      padding: 16px;
      display:grid;
      gap: 12px;
    }
    .cform input, .cform textarea{
      width:100%;
      border:0;
      outline:none;
      border-radius: 8px;
      padding: 12px 12px;
      font-size: var(--fz-13);
      background: rgba(255,255,255,.92);
      box-shadow: inset 0 0 0 1px rgba(16,24,40,.12);
      color: rgba(16,24,40,.82);
      font-weight: 600;
    }
    .cform textarea{
      min-height: 126px;
      resize:none;
    }
    .cform .req{
      float:right;
      margin-top: -24px;
      margin-right: 10px;
      color: rgba(16,24,40,.50);
      font-weight: 900;
      font-size: 14px;
      pointer-events:none;
    }
    .cform .sendWrap{
      padding: 0 16px 16px;
      display:flex;
      justify-content:center;
    }
    .cform button{
      width: 100%;
      max-width: 360px;
      padding: 12px 16px;
      border-radius: 10px;
      border: 1px solid rgba(75,166,40,.35);
      background: linear-gradient(180deg, rgba(168,231,180,.95), rgba(75,166,40,.88));
      color: #fff;
      font-weight: 900;
      font-size: var(--fz-13);
      cursor:pointer;
      box-shadow: 0 14px 20px rgba(75,166,40,.18);
      transition: var(--t);
      text-shadow: 0 1px 0 rgba(0,0,0,.15);
    }
    .cform button:hover{ transform: translateY(-1px); filter: brightness(1.02); }
    .cform button:active{ transform: translateY(0); }

    @media (max-width: 980px){
      .contact .veil{ background: rgba(255,255,255,.70); }
      .cform button{ width: 100%; max-width: none; }
    }

    /* =========================================================
       FOOTER (mantém, mas contactos actualizados no HTML do footer.php)
    ========================================================= */

    /* =========================================================
       TOASTS
    ========================================================= */
    .toasts{
      position: fixed;
      right: 14px;
      bottom: 14px;
      z-index: 120;
      display:flex;
      flex-direction:column;
      gap: 10px;
      pointer-events:none;
    }
    .toast{
      pointer-events:auto;
      width: min(380px, calc(100vw - 28px));
      border-radius: 14px;
      border: 1px solid rgba(10,49,87,.14);
      background: rgba(255,255,255,.92);
      box-shadow: var(--shadow2);
      padding: 12px 12px;
      display:flex;
      gap: 10px;
      align-items:flex-start;
      transform: translateY(10px);
      opacity: 0;
      transition: var(--t);
      backdrop-filter: blur(10px);
    }
    .toast.show{ transform: translateY(0); opacity: 1; }
    .toast .pill{
      width: 10px; height: 10px; border-radius: 99px;
      margin-top: 4px;
      flex: 0 0 auto;
    }
    .toast.ok .pill{ background: var(--green); box-shadow: 0 0 0 5px rgba(75,166,40,.12); }
    .toast.bad .pill{ background: #ff5a6f; box-shadow: 0 0 0 5px rgba(255,90,111,.14); }
    .toast.warn .pill{ background: var(--gold); box-shadow: 0 0 0 5px rgba(244,164,24,.14); }
    .toast .t{ display:grid; gap: 2px; }
    .toast .t b{ font-size: var(--fz-13); color: rgba(11,18,32,.92); font-weight: 900; }
    .toast .t span{ font-size: var(--fz-13); color: rgba(11,18,32,.76); line-height: 1.45; font-weight: 600; }
    .toast .x{
      margin-left:auto;
      width: 32px; height: 32px;
      border-radius: 10px;
      border: 1px solid rgba(10,49,87,.12);
      background: rgba(255,255,255,.90);
      color: rgba(10,49,87,.90);
      cursor:pointer;
      display:flex; align-items:center; justify-content:center;
      font-weight: 900;
    }
    .toast .x:hover{ background:#fff; }

    /* Back-to-top */
    .backtop{
      position: fixed;
      right: 18px;
      bottom: 86px;
      z-index: 70;
      width: 40px; height: 40px;
      border-radius: 10px;
      border: 1px solid rgba(10,49,87,.16);
      background: rgba(255,255,255,.92);
      color: var(--navy);
      display:flex;
      align-items:center;
      justify-content:center;
      cursor:pointer;
      box-shadow: 0 14px 26px rgba(10,49,87,.12);
      transition: var(--t);
      opacity: 0;
      transform: translateY(10px);
      pointer-events:none;
      font-weight: 900;
      font-size: 18px;
    }
    .backtop.show{
      opacity: 1;
      transform: translateY(0);
      pointer-events:auto;
    }

    /* =========================================================
       MODAL IFRAME
    ========================================================= */
    .ifmodal{ position:fixed; inset:0; z-index:200; display:none; }
    .ifmodal.open{ display:block; }
    .ifbackdrop{
      position:absolute; inset:0;
      background: rgba(10,49,87,.46);
      backdrop-filter: blur(10px);
      opacity:0;
      transition: var(--t);
    }
    .ifmodal.open .ifbackdrop{ opacity:1; }
    .ifpanel{
      position:absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -48%) scale(.98);
      opacity:0;
      width: min(1100px, calc(100% - 20px));
      border-radius: 16px;
      overflow:hidden;
      background: rgba(255,255,255,.96);
      border: 1px solid rgba(10,49,87,.14);
      box-shadow: 0 22px 60px rgba(0,0,0,.28);
      transition: var(--t);
    }
    .ifmodal.open .ifpanel{
      transform: translate(-50%, -50%) scale(1);
      opacity:1;
    }
    .ifhead{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 12px;
      padding: 12px 12px;
      border-bottom: 1px solid rgba(10,49,87,.10);
      background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.92));
    }
    .iftitle b{
      display:block;
      font-size: var(--fz-13);
      font-weight: 900;
      color: rgba(10,49,87,.92);
    }
    .iftitle small{
      display:block;
      margin-top: 2px;
      font-size: var(--fz-12);
      font-weight: 800;
      color: rgba(10,49,87,.58);
    }
    .ifactions{ display:flex; gap: 8px; }
    .ifbtn{
      width: 46px; height: 46px;
      border-radius: 14px;
      border: 1px solid rgba(10,49,87,.16);
      background: rgba(255,255,255,.95);
      cursor:pointer;
      font-weight: 900;
      color: rgba(10,49,87,.92);
      transition: var(--t);
    }
    .ifbtn:hover{ transform: translateY(-1px); box-shadow: 0 14px 20px rgba(10,49,87,.14); }
    .ifbtn.close{ border-color: rgba(255,90,111,.20); color: rgba(255,90,111,.95); }
    .ifbody{ background:#0b1624; }
    .ifbody iframe{
      display:block;
      width:100%;
      height: min(72vh, 720px);
      border:0;
    }
    @media (max-width: 720px){
      .ifbody iframe{ height: 72vh; }
    }

    .consents{
      padding: 0 14px 12px;
      display:grid;
      gap: 10px;
    }
    .consent{
      display:flex;
      gap: 10px;
      align-items:flex-start;
      padding: 10px 10px;
      border-radius: 10px;
      border: 1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,.04);
    }
    .consent input[type="checkbox"]{
      margin-top: 3px;
      width: 16px;
      height: 16px;
      accent-color: var(--green);
      flex: 0 0 auto;
    }
    .consent label{
      color: rgba(255,255,255,.82);
      font-size: 12px;
      line-height: 1.55;
      font-weight: 700;
      cursor:pointer;
    }
    .consent label a{
      color: #fff;
      font-weight: 900;
      text-decoration: underline;
      text-underline-offset: 3px;
    }
    .consent .tag{
      display:inline-flex;
      margin-left: 8px;
      padding: 3px 8px;
      border-radius: 999px;
      font-size: 11px;
      font-weight: 900;
      border: 1px solid rgba(255,255,255,.16);
      background: rgba(255,255,255,.08);
      color: rgba(255,255,255,.86);
      white-space:nowrap;
      transform: translateY(-1px);
    }
    .consent.required{
      border-color: rgba(244,164,24,.22);
      background: rgba(244,164,24,.08);
    }
    .consent.invalid{
      border-color: rgba(255,90,111,.55);
      background: rgba(255,90,111,.10);
    }

    .evrFrame{
        display:block;
        width:100%;
        height:640px;
        border:0;
        max-width:100%;
        }
        @media (max-width: 720px){
        .evrFrame{ height:72vh; }
        }
