/* ═══════════════════════════════════════════════════════════
   FILIPE NUNES · CONSULTOR IMOBILIÁRIO — Design System CSS
   ═══════════════════════════════════════════════════════════ */
:root{
  --red:#C8102E; --red2:#9B0C23;
  --black:#060606; --dark:#0E0E0E; --card:#141414; --mid:#1C1C1C;
  --navy:#1B2B5E; --navylt:#243878; --navyd:#0F1D45;
  --white:#FFFFFF; --off:#F8F5F0; --cream:#F0EBE3;
  --grey:#6B6B6B; --lgrey:#AAAAAA; --border:rgba(255,255,255,0.07);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Montserrat',sans-serif;background:var(--black);color:var(--white);overflow-x:hidden;-webkit-font-smoothing:antialiased;}

/* NAV */
.fn-nav{position:fixed;top:0;left:0;right:0;z-index:999;padding:0 48px;height:64px;display:flex;justify-content:space-between;align-items:center;background:rgba(6,6,6,0.97);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);}
.fn-nav .logo{font-size:13px;font-weight:900;letter-spacing:4px;text-transform:uppercase;color:var(--white);text-decoration:none;}
.fn-nav .logo span{color:var(--red);}
.fn-nav .nav-pill{background:var(--red);color:white;padding:9px 22px;font-weight:700;font-size:10px;letter-spacing:2px;text-transform:uppercase;border-radius:1px;text-decoration:none;transition:background 0.2s;white-space:nowrap;}
.fn-nav .nav-pill:hover{background:var(--red2);}
.fn-nav .nav-pill.navy{background:var(--navy);}
.fn-nav .nav-pill.navy:hover{background:var(--navylt);}

/* HERO */
.fn-hero{min-height:100vh;padding-top:64px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;}
.fn-hero .hero-l{padding:72px 56px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;}
.fn-hero .hero-l.bg-black{background:var(--black);}
.fn-hero .hero-l.bg-dark{background:var(--dark);}
.fn-hero .hero-l.bg-navy{background:var(--navy);}
.hero-glow{position:absolute;top:-80px;right:-80px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(200,16,46,0.09) 0%,transparent 70%);pointer-events:none;}
.hero-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(200,16,46,0.1);border:1px solid rgba(200,16,46,0.3);color:var(--red);padding:6px 16px;font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;width:fit-content;margin-bottom:28px;}
.hero-tag.wt{background:rgba(255,255,255,0.07);border-color:rgba(255,255,255,0.18);color:rgba(255,255,255,0.65);}
.hero-h1{font-weight:900;font-size:clamp(42px,4.3vw,72px);line-height:0.90;text-transform:uppercase;letter-spacing:-2px;color:var(--white);margin-bottom:8px;}
.hero-h1 .r{color:var(--red);}
.hero-accent{width:52px;height:4px;background:var(--red);margin:20px 0 22px;}
.hero-p{font-family:'Lora',serif;font-style:italic;font-size:16px;color:rgba(255,255,255,0.6);line-height:1.65;max-width:420px;margin-bottom:36px;}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;}
.fn-hero .hero-r{position:relative;overflow:hidden;min-height:580px;}
.fn-hero .hero-r img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.fn-hero .hero-r .ov{position:absolute;inset:0;background:linear-gradient(to right,rgba(6,6,6,0.35) 0%,transparent 45%),linear-gradient(to top,rgba(6,6,6,0.88) 0%,transparent 55%);}
.fn-hero .hero-r .ov.navy{background:linear-gradient(to right,rgba(27,43,94,0.45) 0%,transparent 45%),linear-gradient(to top,rgba(6,6,6,0.88) 0%,transparent 55%);}
.hero-badge{position:absolute;bottom:28px;left:28px;right:28px;background:rgba(6,6,6,0.88);backdrop-filter:blur(14px);border-left:4px solid var(--red);padding:15px 20px;}
.hero-badge .badge-name{font-size:13px;font-weight:800;letter-spacing:1px;text-transform:uppercase;}
.hero-badge .badge-role{font-size:10px;color:var(--lgrey);margin-top:3px;letter-spacing:1px;}
.hero-badge .badge-quote{font-family:'Lora',serif;font-style:italic;font-size:12px;color:var(--red);margin-top:8px;line-height:1.4;}

/* BUTTONS */
.btn-red{background:var(--red);color:white;padding:15px 32px;font-weight:700;font-size:11px;letter-spacing:2px;text-transform:uppercase;border-radius:1px;text-decoration:none;transition:all 0.2s;display:inline-block;border:2px solid var(--red);}
.btn-red:hover{background:var(--red2);border-color:var(--red2);}
.btn-white{background:transparent;color:white;padding:15px 32px;font-weight:700;font-size:11px;letter-spacing:2px;text-transform:uppercase;border-radius:1px;text-decoration:none;transition:all 0.2s;display:inline-block;border:2px solid rgba(255,255,255,0.22);}
.btn-white:hover{border-color:white;}
.btn-navy{background:var(--navy);color:white;padding:15px 32px;font-weight:700;font-size:11px;letter-spacing:2px;text-transform:uppercase;border-radius:1px;text-decoration:none;transition:all 0.2s;display:inline-block;}
.btn-navy:hover{background:var(--navylt);}

/* PROOF BAR */
.fn-proof{background:var(--red);padding:26px 56px;display:grid;text-align:center;}
.fn-proof.c4{grid-template-columns:repeat(4,1fr);gap:24px;}
.fn-proof .pn{font-size:34px;font-weight:900;color:white;letter-spacing:-1px;line-height:1;}
.fn-proof .pl{font-size:9px;color:rgba(255,255,255,0.7);margin-top:4px;letter-spacing:1px;line-height:1.4;}

/* SECTIONS */
.fn-sec{padding:88px 56px;}
.fn-sec.bg-off{background:var(--off);color:var(--black);}
.fn-sec.bg-dark{background:var(--dark);}
.fn-sec.bg-black{background:var(--black);}
.fn-sec.bg-navy{background:var(--navy);}
.sk{font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--red);margin-bottom:10px;}
.sk.w{color:rgba(255,255,255,0.4);}
.st{font-weight:900;font-size:clamp(26px,2.8vw,44px);text-transform:uppercase;letter-spacing:-1px;line-height:0.97;margin-bottom:12px;}
.ss{font-family:'Lora',serif;font-style:italic;font-size:16px;line-height:1.65;max-width:620px;margin-bottom:48px;}
.ss.dk{color:var(--grey);}
.ss.lt{color:rgba(255,255,255,0.55);}

/* GRIDS */
.fn-g2{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:rgba(0,0,0,0.07);}
.fn-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(0,0,0,0.07);}
.fn-g3d{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border);}
.gc{background:var(--white);padding:34px 28px;transition:all 0.25s;}
.gc:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,0.1);}
.gc.dark{background:var(--card);}
.gc.dark:hover{transform:none;}
.gc.top-red{border-top:3px solid var(--red);}
.gc.top-navy{border-top:3px solid var(--navy);}
.gc.left-red{border-left:4px solid transparent;transition:border-color 0.2s;}
.gc.left-red:hover{border-left-color:var(--red);}
.gc-num{font-weight:900;font-size:36px;color:var(--red);opacity:0.15;line-height:1;margin-bottom:4px;}
.gc-icon{font-size:28px;margin-bottom:10px;}
.gc-title{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:8px;}
.gc-title.bk{color:var(--black);}
.gc-title.wh{color:var(--white);}
.gc-title.nv{color:var(--navy);}
.gc-text{font-size:12px;line-height:1.7;}
.gc-text.dk{color:var(--grey);}
.gc-text.lt{color:var(--lgrey);}
.gc-badge{display:inline-block;margin-top:12px;background:rgba(200,16,46,0.12);border:1px solid rgba(200,16,46,0.3);color:var(--red);padding:4px 10px;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;}

/* PROCESS STEPS */
.psteps{display:flex;flex-direction:column;}
.pstep{display:flex;gap:20px;}
.pstep-l{display:flex;flex-direction:column;align-items:center;width:44px;flex-shrink:0;}
.pstep-circle{width:44px;height:44px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:15px;color:white;flex-shrink:0;}
.pstep-line{width:2px;flex:1;min-height:18px;background:rgba(200,16,46,0.2);}
.pstep-c{padding-bottom:28px;padding-top:8px;}
.pstep-title{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:5px;}
.pstep-desc{font-size:12px;line-height:1.6;}

/* ══════════════════════════════
   FORMULÁRIOS — FORMSUBMIT.CO
   ══════════════════════════════ */
.fn-form-wrap{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;}
.fn-form-col{padding:72px 56px;background:var(--dark);display:flex;flex-direction:column;justify-content:center;}
.fn-form-photo{position:relative;overflow:hidden;}
.fn-form-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(25%) brightness(0.55);}
.fn-form-photo-ov{position:absolute;inset:0;background:linear-gradient(to left,transparent 40%,rgba(14,14,14,0.75));}

.fn-form{display:flex;flex-direction:column;gap:13px;}
.fn-row{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.fn-group{display:flex;flex-direction:column;gap:5px;}
.fn-label{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.45);}
.fn-input{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);padding:13px 16px;color:white;font-family:'Montserrat',sans-serif;font-size:13px;outline:none;transition:border 0.2s;border-radius:1px;width:100%;}
.fn-input:focus{border-color:rgba(200,16,46,0.7);}
.fn-input::placeholder{color:rgba(255,255,255,0.22);}
select.fn-input option{background:#1a1a1a;}
textarea.fn-input{resize:vertical;}

/* RGPD Consent */
.rgpd-block{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:2px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start;}
.rgpd-cb{width:18px;height:18px;border:2px solid rgba(200,16,46,0.5);background:transparent;cursor:pointer;flex-shrink:0;margin-top:1px;accent-color:var(--red);}
.rgpd-text{font-size:10px;color:rgba(255,255,255,0.45);line-height:1.55;}
.rgpd-text a{color:var(--red);text-decoration:none;}
.rgpd-text a:hover{text-decoration:underline;}

/* Honeypot */
.fn-hp{position:absolute;left:-9999px;visibility:hidden;pointer-events:none;}

/* Submit */
.fn-submit{background:var(--red);color:white;border:none;padding:16px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:3px;text-transform:uppercase;cursor:pointer;transition:background 0.2s;border-radius:1px;width:100%;}
.fn-submit:hover{background:var(--red2);}
.fn-gua{font-size:10px;color:rgba(255,255,255,0.28);text-align:center;margin-top:6px;line-height:1.5;}
.fn-alert{padding:12px 16px;border-radius:2px;font-size:12px;font-weight:600;margin-bottom:14px;}
.fn-alert.error{background:rgba(200,16,46,0.15);border:1px solid rgba(200,16,46,0.4);color:#ff9999;}

/* REVIEWS */
.fn-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.rev{background:var(--white);padding:28px;border-top:3px solid var(--red);}
.rev-stars{color:var(--red);font-size:13px;margin-bottom:12px;}
.rev-text{font-family:'Lora',serif;font-style:italic;font-size:13px;line-height:1.75;color:#111;margin-bottom:16px;}
.rev-author{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#111;}
.rev-loc{font-size:10px;color:var(--grey);margin-top:2px;}

/* EBOOK STRIP */
.fn-ebook-strip{background:var(--navy);padding:48px 56px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;}
.fn-ebook-strip .eb-title{font-weight:900;font-size:clamp(18px,2vw,28px);text-transform:uppercase;letter-spacing:-0.5px;color:white;line-height:1.1;}
.fn-ebook-strip .eb-title span{color:var(--red);}
.fn-ebook-strip .eb-sub{font-family:'Lora',serif;font-style:italic;font-size:13px;color:rgba(255,255,255,0.5);margin-top:7px;line-height:1.5;}
.eb-inline{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start;}
.eb-input{background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.14);padding:12px 16px;color:white;font-family:'Montserrat',sans-serif;font-size:12px;outline:none;min-width:168px;border-radius:1px;}
.eb-input::placeholder{color:rgba(255,255,255,0.35);}
.eb-btn{background:var(--red);color:white;border:none;padding:12px 24px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:10px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:background 0.2s;white-space:nowrap;border-radius:1px;}
.eb-btn:hover{background:var(--red2);}

/* PHOTO SPLIT */
.fn-photo-split{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;min-height:500px;}
.ps-img{position:relative;overflow:hidden;}
.ps-img img{width:100%;height:100%;object-fit:cover;}
.ps-ov{position:absolute;inset:0;}
.ps-content{padding:72px 56px;display:flex;flex-direction:column;justify-content:center;}
.blist{display:flex;flex-direction:column;gap:14px;margin-top:20px;}
.bl{display:flex;gap:12px;align-items:flex-start;}
.bl-dot{width:6px;height:6px;border-radius:50%;background:var(--red);flex-shrink:0;margin-top:5px;}
.bl-text{font-size:13px;color:var(--lgrey);line-height:1.6;}
.bl-text strong{color:var(--white);}

/* FOOTER */
.fn-footer{background:var(--black);border-top:3px solid var(--red);padding:40px 56px;}
.fn-footer .ft-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:20px;}
.fn-footer .f-logo{font-size:12px;font-weight:900;letter-spacing:3px;text-transform:uppercase;color:var(--white);}
.fn-footer .f-logo span{color:var(--red);}
.fn-footer .f-links{display:flex;gap:20px;flex-wrap:wrap;}
.fn-footer .f-link{font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--grey);text-decoration:none;}
.fn-footer .f-link:hover{color:var(--white);}
.fn-footer .ft-bot{border-top:1px solid var(--border);padding-top:16px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.fn-footer .f-copy{font-size:10px;color:var(--grey);}
.fn-footer .f-legal{display:flex;gap:16px;flex-wrap:wrap;}
.fn-footer .f-legal a{font-size:10px;color:var(--grey);text-decoration:none;}
.fn-footer .f-legal a:hover{color:var(--white);}

/* COOKIE BANNER */
#fn-cookies{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:rgba(10,10,10,0.97);backdrop-filter:blur(16px);border-top:2px solid var(--red);padding:20px 48px;display:flex;gap:24px;align-items:center;flex-wrap:wrap;}
#fn-cookies p{font-size:12px;color:var(--lgrey);line-height:1.55;flex:1;min-width:280px;}
#fn-cookies a{color:var(--red);text-decoration:none;}
.ck-btns{display:flex;gap:10px;flex-wrap:wrap;}
.ck-ok{background:var(--red);color:white;border:none;padding:10px 22px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:10px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;border-radius:1px;}
.ck-no{background:transparent;color:var(--lgrey);border:1px solid rgba(255,255,255,0.15);padding:10px 18px;font-family:'Montserrat',sans-serif;font-weight:600;font-size:10px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border-radius:1px;}

/* LEGAL */
.fn-legal{max-width:800px;margin:0 auto;padding:120px 40px 80px;}
.fn-legal h1{font-weight:900;font-size:36px;text-transform:uppercase;letter-spacing:-1px;margin-bottom:8px;}
.fn-legal .meta{font-size:11px;color:var(--grey);margin-bottom:40px;border-bottom:1px solid var(--border);padding-bottom:20px;}
.fn-legal .ls{margin-bottom:36px;}
.fn-legal .ls h2{font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:0.5px;color:white;margin-bottom:10px;padding-left:12px;border-left:3px solid var(--red);}
.fn-legal .ls p{font-size:13px;color:var(--lgrey);line-height:1.75;}
.fn-legal a{color:var(--red);text-decoration:none;}
.fn-legal a:hover{text-decoration:underline;}
code{background:var(--mid);padding:2px 6px;border-radius:2px;font-size:12px;}

/* REVEAL */
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease,transform 0.6s ease;}
.reveal.vis{opacity:1;transform:translateY(0);}

/* RESPONSIVE */
@media(max-width:900px){
  .fn-nav{padding:0 20px;}
  .fn-hero{grid-template-columns:1fr;}
  .fn-hero .hero-r{min-height:300px;}
  .fn-hero .hero-l{padding:60px 24px;}
  .fn-proof{padding:24px;grid-template-columns:repeat(2,1fr)!important;}
  .fn-sec{padding:60px 24px;}
  .fn-g2,.fn-g3,.fn-g3d{grid-template-columns:1fr;}
  .fn-reviews{grid-template-columns:1fr;}
  .fn-form-wrap{grid-template-columns:1fr;}
  .fn-form-photo{display:none;}
  .fn-form-col{padding:56px 24px;}
  .fn-row{grid-template-columns:1fr;}
  .fn-photo-split{grid-template-columns:1fr;}
  .ps-img{height:280px;}
  .ps-content{padding:48px 24px;}
  .fn-ebook-strip{grid-template-columns:1fr;padding:40px 24px;}
  .fn-footer{padding:32px 24px;}
  .fn-footer .ft-top,.fn-footer .ft-bot{flex-direction:column;text-align:center;}
  .fn-footer .f-links,.fn-footer .f-legal{justify-content:center;}
  #fn-cookies{padding:20px 24px;}
  .fn-legal{padding:100px 24px 60px;}
}
