@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root { --black:#0b0b0d; --black2:#101114; --black3:#18191c; --orange:#ff6516; --amber:#ffc329; --white:#faf9f8; --muted:#aaa9ac; --ink:#17171a; --cream:#f6f4f0; --shell:1220px; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:85px; }
body { margin:0; background:var(--black); color:var(--white); font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; -webkit-font-smoothing:antialiased; }
body,button,a { -webkit-tap-highlight-color:transparent; }
img { max-width:100%; display:block; }
button,input { font:inherit; }
a { text-decoration:none; color:inherit; }
a:focus-visible,button:focus-visible { outline:3px solid var(--amber); outline-offset:5px; }
::selection { background:var(--orange); color:white; }
.shell { width:min(var(--shell),calc(100% - 88px)); margin-inline:auto; }
.skip-link { position:fixed; top:-100px; left:12px; z-index:99; background:var(--orange); color:#111; padding:12px 22px; font-weight:800; }
.skip-link:focus { top:12px; }
.site-header { position:fixed; inset:0 0 auto; height:84px; z-index:40; border-bottom:1px solid rgba(255,255,255,.09); background:rgba(11,11,13,.77); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); transition:background .3s,box-shadow .3s; }
.site-header.is-scrolled { background:rgba(8,8,9,.97); box-shadow:0 8px 36px rgba(0,0,0,.23); }
.header-inner { height:100%; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { display:flex; align-items:center; flex-shrink:0; overflow:hidden; height:76px; }
.brand img { width:136px; height:auto; display:block; mix-blend-mode:screen; }
.desktop-nav { display:flex; align-items:center; gap:clamp(18px,2.7vw,37px); }
.desktop-nav a { color:#d0ced0; font-size:13px; font-weight:700; letter-spacing:.015em; transition:color .2s; white-space:nowrap; }
.desktop-nav a:hover,.footer-column a:hover { color:var(--orange); }
.header-contact { display:inline-flex; align-items:center; gap:10px; font-size:12px; letter-spacing:.025em; font-weight:800; border:1px solid rgba(255,255,255,.25); border-radius:6px; padding:13px 17px; color:#fff; white-space:nowrap; transition:border-color .2s,background .2s; }
.header-contact:hover { border-color:var(--orange); background:rgba(255,101,22,.12); }
.icon { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.menu-toggle { display:none; border:0; width:44px; height:44px; padding:12px 8px; background:none; cursor:pointer; flex-direction:column; justify-content:center; gap:6px; }
.menu-toggle span { height:2px; background:white; width:100%; transition:transform .2s,opacity .2s; }
.menu-toggle.active span:first-child { transform:translateY(8px) rotate(45deg); }
.menu-toggle.active span:nth-child(2) { opacity:0; }
.menu-toggle.active span:last-child { transform:translateY(-8px) rotate(-45deg); }
.mobile-nav[hidden] { display:none !important; }
.mobile-nav { position:absolute; top:84px; left:0; right:0; padding:22px 30px 30px; background:#101012; border-bottom:1px solid #38383a; flex-direction:column; gap:0; box-shadow:0 20px 35px rgba(0,0,0,.6); }
.mobile-nav a { display:block; padding:14px 2px; border-bottom:1px solid #262629; font-size:15px; font-weight:700; }
.mobile-nav .mobile-nav-cta { margin-top:16px; padding:14px 18px; text-align:center; background:var(--orange); border:0; border-radius:5px; }
.hero { position:relative; min-height:730px; overflow:hidden; padding-top:84px; background:radial-gradient(ellipse 54% 68% at 62% 40%,#211916 0%,#111113 65%,#0b0b0d 100%); }
.hero-glow { position:absolute; width:710px; height:710px; top:-280px; right:-200px; border-radius:50%; background:#ed5e18; opacity:.09; filter:blur(110px); pointer-events:none; }
.hero-grid { min-height:610px; display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:48px; padding-top:50px; padding-bottom:50px; position:relative; }
.hero-copy { position:relative; z-index:2; padding-top:12px; }
.eyebrow { color:#ffb14b; font-size:11px; letter-spacing:.18em; font-weight:800; display:flex; align-items:center; gap:13px; text-transform:uppercase; }
.eyebrow-line { width:28px; height:2px; background:linear-gradient(90deg,var(--orange),var(--amber)); flex:0 0 auto; }
.hero h1 { font-family:'Manrope',system-ui,sans-serif; font-size:clamp(48px,5.1vw,75px); line-height:1.12; letter-spacing:-.064em; font-weight:800; margin:26px -40px 26px 0; }
.gradient-text { background:linear-gradient(115deg,#ff6b1c 20%,#ffba13 88%); color:transparent; background-clip:text; -webkit-background-clip:text; }
.hero-lead { font-size:clamp(15px,1.2vw,17px); line-height:1.85; color:#bbb7b7; max-width:490px; margin:0; }
.hero-actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:38px; }
.btn { border-radius:5px; min-height:54px; padding:16px 22px; display:inline-flex; align-items:center; justify-content:center; gap:23px; font-size:13px; font-weight:800; transition:transform .2s,background .2s,border-color .2s; }
.btn:hover { transform:translateY(-3px); }
.btn-primary { color:#111; background:linear-gradient(105deg,#ff7415,#ffb019); box-shadow:0 10px 30px #ff742019; }
.btn-primary:hover { background:linear-gradient(100deg,#ff8738,#ffc344); }
.btn-arrow { font-size:18px; line-height:1; }
.btn-outline { color:white; border:1px solid #4b4a4b; background:rgba(255,255,255,.015); }
.btn-outline:hover { border-color:#c1ac9c; background:rgba(255,255,255,.06); }
.hero-footer { display:flex; gap:11px; align-items:center; margin-top:55px; color:#8b8788; font-size:12px; letter-spacing:.028em; }
.tiny-mark { width:8px; height:8px; border:2px solid var(--orange); border-radius:100%; box-shadow:0 0 0 4px #ff65160d; }
.hero-visual { position:relative; width:100%; justify-self:end; padding:0 24px 0 0; }
.photo-frame { position:relative; overflow:hidden; width:100%; aspect-ratio:1.12 / 1; min-height:435px; border-radius:3px; background:#222; box-shadow:0 24px 90px #0009; border:1px solid #494140; }
.photo-frame > img { width:100%; height:100%; object-fit:cover; object-position:center 52%; filter:saturate(.83) contrast(1.05); }
.photo-vignette { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 36%),linear-gradient(90deg,rgba(0,0,0,.07),transparent); pointer-events:none; }
.visual-corner { position:absolute; width:44px; height:44px; border-color:#ffa22e; border-style:solid; }
.top-left { top:0;left:0;border-width:4px 0 0 4px; }
.bottom-right { bottom:0;right:0;border-width:0 4px 4px 0; }
.photo-label { position:absolute; bottom:22px; left:23px; display:flex; align-items:center; gap:11px; }
.label-dot { width:12px; height:12px; background:linear-gradient(120deg,var(--orange),var(--amber)); border-radius:50%; box-shadow:0 0 0 4px #ff651635; }
.photo-label strong { display:block; font-size:15px; letter-spacing:.015em; }
.photo-label small { display:block; margin-top:3px; color:#d1ced0; font-size:11px; }
.vertical-caption { position:absolute; writing-mode:vertical-rl; right:0; top:10px; color:#8e8481; letter-spacing:.18em; font-size:9px; font-weight:800; }
.hero-bottom { display:flex; align-items:center; gap:27px; color:#777479; font-size:10px; letter-spacing:.13em; font-weight:800; padding-bottom:30px; }
.hero-bottom-line { height:1px; flex:1; background:#373437; }
.hero-bottom a { color:#b0acae; }
.hero-bottom a:hover { color:white; }
.section { padding-block:110px; }
.intro-section,.steps-section { background:var(--cream); color:var(--ink); }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:60px; margin-bottom:49px; }
.section-heading > div { max-width:700px; }
.section-heading h2 { font-family:'Manrope',system-ui,sans-serif; font-size:clamp(33px,3.6vw,51px); line-height:1.18; letter-spacing:-.055em; font-weight:800; margin:19px 0 0; }
.section-heading h2 em { color:var(--orange); font-style:normal; }
.section-heading > p { max-width:355px; margin:0 0 5px; line-height:1.75; color:#a6a0a0; font-size:14px; }
.eyebrow-muted { color:#b8501a; }
.intro-heading > p,.steps-heading > p { color:#6f6b6b; }
.features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.feature-card { position:relative; background:#fff; min-height:260px; padding:32px; border:1px solid #e9e6e3; box-shadow:0 15px 50px #2e1f1708; overflow:hidden; }
.feature-card::after { position:absolute; content:""; width:80px; height:2px; background:linear-gradient(to right,var(--orange),var(--amber)); bottom:0; left:32px; }
.feature-icon { display:grid; width:54px;height:54px; place-items:center; border-radius:12px; background:#fff4eb; color:#ef681f; }
.feature-icon svg { width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round; }
.feature-index { position:absolute; right:30px; top:35px; font-size:11px; font-weight:800; color:#d0c9c6; }
.feature-card h3 { font-family:'Manrope',sans-serif; letter-spacing:-.025em; font-size:19px; margin:25px 0 10px; }
.feature-card p { max-width:300px; margin:0; color:#706e6d; line-height:1.7; font-size:14px; }
.locations-section { background:#101113; }
.locations-showcase { display:grid; grid-template-columns:1.1fr .9fr; min-height:440px; overflow:hidden; border:1px solid #353235; }
.locations-photo { position:relative; min-height:430px; overflow:hidden; }
.locations-photo img { width:100%; height:100%; object-fit:cover; object-position:center 53%; position:absolute; inset:0; filter:saturate(.85); }
.locations-photo::after { content:""; inset:0; position:absolute; background:linear-gradient(0deg,rgba(0,0,0,.75),transparent 43%); }
.locations-photo-overlay { position:absolute; z-index:1; bottom:30px; left:32px; display:flex; flex-direction:column; gap:5px; }
.locations-photo-overlay span { font-size:10px; letter-spacing:.15em; font-weight:800; color:#ffbc75; }
.locations-photo-overlay strong { font-family:'Manrope',sans-serif; font-weight:800; letter-spacing:-.04em; font-size:28px; }
.locations-copy { padding:clamp(28px,4.3vw,60px); display:flex; flex-direction:column; align-items:start; justify-content:center; background:radial-gradient(ellipse at top right,#24201d,#171719 65%); }
.small-orange { color:#ff9c45; font-size:10px; letter-spacing:.2em; font-weight:800; }
.locations-copy h3 { font-family:'Manrope',sans-serif; font-size:clamp(24px,2.4vw,34px); letter-spacing:-.045em; line-height:1.25; margin:17px 0 19px; }
.locations-copy p { font-size:14px; line-height:1.8; color:#b8b2b1; margin:0; }
.locations-badges { display:flex; flex-wrap:wrap; gap:9px; margin:26px 0 30px; }
.locations-badges > span { color:#ddd6d3; font-size:11px; border:1px solid #524843; padding:10px 12px; border-radius:4px; display:flex; align-items:center; gap:8px; }
.dot { width:7px; height:7px; border-radius:50%; background:#ffa62f; }
.text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:18px; color:#ff9e42; font-weight:800; font-size:13px; padding-bottom:9px; border-bottom:1px solid #c96821; }
.text-link:hover { color:#ffcf9e; }
.location-results { margin-top:24px; }
.points-empty { border:1px dashed #4e4440; background:linear-gradient(90deg,#1c1a19,#19191b); display:flex; gap:22px; align-items:center; padding:25px 30px; }
.points-empty-icon { font-size:48px; line-height:1; color:#ff913b; }
.points-empty-content { flex:1; }
.points-empty h3 { font-size:16px; margin:0 0 5px; font-weight:800; }
.points-empty p { font-size:12px; line-height:1.7; margin:0; color:#a9a3a1; max-width:640px; }
.small-cta { flex-shrink:0; border:1px solid #785034; color:#ffaf6d; padding:12px 15px; border-radius:4px; font-weight:800; font-size:12px; }
.small-cta:hover { background:#f36e2625; }
.listed-points-title { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:30px 0 24px; }
.listed-points-title h3 { font-family:'Manrope',sans-serif; margin:0; letter-spacing:-.03em; font-size:25px; }
.listed-points-title p { margin:0; max-width:460px; color:#aaa3a1; font-size:13px; line-height:1.5; }
.points-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.point-card { background:#1c1c1e; border:1px solid #3c3939; overflow:hidden; }
.point-visual { height:250px; position:relative; overflow:hidden; }
.point-visual img { width:100%; height:100%; object-fit:cover; }
.point-tag { position:absolute; top:15px;left:15px; background:#0d0d0edc; font-weight:800; font-size:10px; letter-spacing:.1em; padding:10px 12px; border-left:2px solid var(--orange); }
.point-body { padding:24px; }
.point-neighborhood { color:#ffad64; font-weight:800; letter-spacing:.13em; font-size:10px; text-transform:uppercase; }
.point-body h4 { font-family:'Manrope',sans-serif; margin:9px 0 12px; font-size:21px; letter-spacing:-.03em; }
.point-address,.point-description { font-size:13px; color:#b7b2b2; line-height:1.65; margin:7px 0; }
.point-map { margin-top:16px; width:100%; height:215px; border:0; border-radius:2px; background:#282828; }
.point-actions { display:flex; flex-wrap:wrap; gap:15px; align-items:center; justify-content:space-between; padding-top:19px; margin-top:12px; border-top:1px solid #353334; }
.point-actions a { font-size:12px; font-weight:800; }
.point-map-link { color:#d4cdca; }
.point-wa-link { color:#ff9e4f; }
.point-actions a:hover { text-decoration:underline; }
.steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid #d9d5d0; }
.steps-grid article { padding:34px 33px 4px 0; }
.steps-grid article + article { border-left:1px solid #d9d5d0; padding-left:36px; }
.step-n { font-family:'Manrope',sans-serif; display:block; color:#fa691a; font-weight:800; font-size:43px; letter-spacing:-.06em; }
.step-n span { color:#c9c0bb; margin-left:14px; font-weight:400; }
.steps-grid h3 { font-family:'Manrope',sans-serif; font-size:18px; margin:22px 0 10px; letter-spacing:-.026em; }
.steps-grid p { font-size:14px; line-height:1.75; color:#706b68; margin:0; max-width:280px; }
.cta-section { background:linear-gradient(110deg,#ff5810 0%,#ff8f12 55%,#ffba29 100%); color:#1b100b; position:relative; overflow:hidden; }
.cta-inner { min-height:430px; display:flex; align-items:center; padding-top:75px; padding-bottom:75px; position:relative; }
.cta-content { position:relative; z-index:1; max-width:780px; }
.cta-overline { color:#44210f; font-weight:800; font-size:11px; letter-spacing:.18em; }
.cta-content h2 { font-family:'Manrope',sans-serif; font-size:clamp(36px,4.2vw,59px); letter-spacing:-.06em; line-height:1.14; margin:22px 0 18px; }
.cta-content h2 em { font-style:normal; color:#fff5db; }
.cta-content p { margin:0; color:#4d2813; font-size:15px; font-weight:600; line-height:1.7; }
.cta-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; }
.btn-dark { background:#121214; color:white; }
.btn-dark:hover { background:#333; }
.btn-ghost-dark { border:1px solid #8a3d13; color:#261508; }
.btn-ghost-dark:hover { background:#ffffff30; }
.cta-art { position:absolute; width:510px; height:510px; right:-125px; top:-32px; display:grid; place-items:center; opacity:.17; pointer-events:none; transform:rotate(-12deg); }
.cta-art > span { font-family:'Manrope',sans-serif; font-size:200px; letter-spacing:-.12em; font-weight:800; color:#1e1006; }
.cta-art > span span { color:white; }
.cta-ring { position:absolute; border:3px solid #3f1509; width:410px; height:410px; border-radius:50%; }
.ring-two { width:520px; height:520px; }
.site-footer { background:#0b0b0d; color:#f8f6f3; }
.footer-main { display:grid; grid-template-columns:1.8fr 1fr 1.15fr auto; gap:44px; padding-top:58px; padding-bottom:65px; }
.footer-brand img { width:160px; margin:-10px 0 6px -5px; mix-blend-mode:screen; }
.footer-brand p { margin:0; color:#928f90; font-size:13px; max-width:230px; line-height:1.6; }
.footer-column { display:flex; flex-direction:column; align-items:start; gap:14px; padding-top:9px; }
.footer-column h3 { margin:0 0 9px; font-size:12px; letter-spacing:.05em; }
.footer-column a,.footer-column span { font-size:13px; color:#a19b9c; transition:color .2s; }
.footer-social { display:flex; gap:10px; align-items:start; padding-top:5px; }
.footer-social a { width:40px;height:40px;display:grid;place-items:center;border:1px solid #434044;border-radius:50%; transition:border-color .2s,color .2s; }
.footer-social a:hover { color:var(--orange); border-color:var(--orange); }
.footer-social svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.footer-bottom { border-top:1px solid #302e30; min-height:67px; display:flex; justify-content:space-between; align-items:center; gap:20px; color:#747074; font-size:11px; }
.footer-bottom a { font-size:10px; color:#c0b9b7; letter-spacing:.07em; font-weight:800; }
.footer-bottom a:hover { color:var(--orange); }
.floating-whatsapp { position:fixed; bottom:26px; right:24px; display:flex; align-items:center; gap:11px; z-index:35; background:#19a65c; border:2px solid #ffffff30; box-shadow:0 7px 30px #0005; border-radius:50px; color:#fff; padding:13px 17px; font-weight:800; font-size:12px; transition:transform .2s,background .2s; }
.floating-whatsapp:hover { background:#138348; transform:translateY(-4px); }
.floating-whatsapp svg { width:22px;height:22px; fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round; }
@media (max-width:1080px) {
  .shell { width:min(var(--shell),calc(100% - 54px)); }
  .desktop-nav { gap:18px; }
  .desktop-nav a { font-size:12px; }
  .header-contact { padding:12px; font-size:11px; }
  .hero-grid { gap:20px; }
  .hero h1 { font-size:clamp(43px,5.3vw,63px); }
  .photo-frame { min-height:375px; }
  .hero-visual { padding-right:20px; }
  .footer-main { gap:25px; }
}
@media (max-width:820px) {
  .site-header { height:76px; }
  .header-inner { gap:10px; }
  .brand { height:70px; }
  .brand img { width:120px; }
  .desktop-nav,.header-contact { display:none; }
  .menu-toggle { display:flex; }
  .mobile-nav { top:76px; display:flex; }
  .hero { padding-top:76px; min-height:0; }
  .hero-grid { grid-template-columns:1fr; gap:37px; padding-top:77px; padding-bottom:38px; }
  .hero-copy { padding-top:0; }
  .hero h1 { font-size:clamp(45px,7.7vw,70px); max-width:680px; margin-right:0; }
  .hero-lead { max-width:600px; }
  .hero-footer { margin-top:26px; }
  .hero-visual { width:100%; padding-right:24px; }
  .photo-frame { aspect-ratio:1.45; min-height:0; }
  .hero-bottom { padding-top:15px; }
  .section { padding-block:82px; }
  .section-heading { align-items:start; flex-direction:column; gap:20px; }
  .section-heading > p { max-width:570px; }
  .features { gap:12px; }
  .feature-card { padding:23px; }
  .feature-index { right:20px; }
  .locations-showcase { grid-template-columns:1fr 1fr; }
  .locations-photo { min-height:430px; }
  .locations-copy { padding:30px; }
  .points-empty { flex-wrap:wrap; }
  .footer-main { grid-template-columns:1.4fr 1fr 1.15fr; }
  .footer-social { grid-column:1 / -1; }
}
@media (max-width:620px) {
  .shell { width:calc(100% - 38px); }
  .hero-grid { padding-top:55px; gap:38px; }
  .eyebrow { font-size:9px; letter-spacing:.16em; gap:10px; }
  .eyebrow-line { width:21px; }
  .hero h1 { font-size:clamp(42px,11vw,59px); line-height:1.1; margin:20px 0 20px; letter-spacing:-.06em; }
  .hero-lead { font-size:14px; line-height:1.75; }
  .hero-actions { margin-top:27px; }
  .btn { min-height:49px; font-size:12px; padding:14px 17px; gap:11px; }
  .hero-visual { padding:0 14px 0 0; }
  .photo-frame { aspect-ratio:1.03; }
  .photo-frame > img { object-position:50% 50%; }
  .photo-label { left:17px; bottom:18px; }
  .vertical-caption { right:-2px; }
  .hero-bottom { gap:10px; font-size:8px; letter-spacing:.04em; }
  .section { padding-block:67px; }
  .section-heading { margin-bottom:29px; }
  .section-heading h2 { font-size:clamp(31px,8vw,39px); margin-top:15px; }
  .section-heading > p { font-size:13px; }
  .features,.steps-grid { grid-template-columns:1fr; }
  .feature-card { min-height:auto; padding:25px; }
  .feature-card h3 { margin:19px 0 7px; }
  .features { gap:12px; }
  .locations-showcase { grid-template-columns:1fr; }
  .locations-photo { min-height:335px; }
  .locations-copy { padding:31px 26px 36px; }
  .locations-copy h3 { font-size:27px; }
  .points-empty { gap:16px; padding:22px; }
  .points-empty-icon { display:none; }
  .small-cta { margin-top:5px; }
  .listed-points-title { display:block; }
  .listed-points-title p { margin-top:10px; }
  .points-grid { grid-template-columns:1fr; }
  .steps-grid article,.steps-grid article + article { padding:24px 0 25px; border-left:0; border-bottom:1px solid #d9d5d0; }
  .steps-grid article:first-child { border-top:0; }
  .steps-grid article:last-child { border-bottom:0; }
  .step-n { font-size:36px; }
  .steps-grid h3 { margin-top:10px; }
  .cta-inner { padding-block:67px; min-height:0; }
  .cta-content h2 { font-size:clamp(36px,9.5vw,47px); }
  .cta-art { right:-320px; opacity:.11; }
  .cta-actions { gap:10px; }
  .footer-main { grid-template-columns:1fr 1fr; gap:35px 18px; padding-top:44px; padding-bottom:42px; }
  .footer-brand { grid-column:1 / -1; }
  .footer-brand img { width:143px; }
  .footer-social { grid-column:1 / -1; }
  .footer-bottom { padding-top:18px; padding-bottom:20px; align-items:start; font-size:10px; }
  .footer-bottom > span { max-width:220px; line-height:1.6; }
  .floating-whatsapp { bottom:18px; right:16px; width:54px; height:54px; padding:0; border-radius:50%; justify-content:center; }
  .floating-whatsapp span { display:none; }
  .floating-whatsapp svg { width:26px; height:26px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; animation:none !important; } }

/* ===== V2 — mapa único e cartões com foto ===== */
.map-banner{padding:24px 30px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:#1b1c1f;border:1px solid #39383a;border-bottom:0}
.map-banner-heading{max-width:750px}
.map-banner-kicker{display:inline-flex;align-items:center;gap:9px;font-size:10px;font-weight:800;letter-spacing:.16em;color:#ffad57}
.map-live-dot{height:8px;width:8px;border-radius:50%;background:#ff741a;box-shadow:0 0 0 4px #ff741a23}
.map-banner h3{font-family:'Manrope',sans-serif;font-size:clamp(20px,2.3vw,28px);letter-spacing:-.04em;margin:11px 0 6px}
.map-banner p{margin:0;color:#b9b6b7;font-size:13px;line-height:1.6}
.map-banner-count{text-align:right;display:flex;flex-direction:column;white-space:nowrap;line-height:1}
.map-banner-count strong{font-family:'Manrope',sans-serif;letter-spacing:-.07em;font-size:48px;color:#ff8627}
.map-banner-count span{font-size:10px;letter-spacing:.12em;color:#a4a0a2;font-weight:800;margin-top:8px}
.map-shell{position:relative;border:1px solid #3a3a3d;background:#f1f0ec}
.hc-map{height:535px;width:100%;z-index:1}
.map-hint{position:absolute;left:18px;bottom:19px;z-index:401;padding:11px 16px;background:#171719ec;color:#fff;border:1px solid #ffffff28;box-shadow:0 5px 20px #0002;border-radius:5px;font-size:12px;font-weight:700;pointer-events:none}
.map-hint span{color:#ff9f3e;padding-left:4px}
.map-unavailable:not([hidden]){display:flex;position:absolute;z-index:3;inset:0;background:#17171a;justify-content:center;align-items:center;flex-direction:column;gap:12px;text-align:center;padding:22px}
.map-unavailable strong{font-size:20px}.map-unavailable span{max-width:410px;color:#aaa;font-size:13px;line-height:1.5}
.map-bottomline{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 5px;color:#bdbabc;font-size:11px;line-height:1.6}
.map-bottomline > span:last-child{max-width:385px;text-align:right;color:#8d8a8b}
.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ff852d;margin-right:8px;vertical-align:1px}
.location-results{margin-top:38px}
.location-mini-heading{display:flex;align-items:baseline;justify-content:space-between;gap:22px;margin-bottom:18px}
.location-mini-heading h3{margin:0;font-family:'Manrope',sans-serif;font-size:23px;letter-spacing:-.035em}
.location-mini-heading p{margin:0;color:#99969a;font-size:12px}
.points-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.point-mini-card{text-align:left;padding:0;display:flex;flex-direction:column;background:#1a1b1e;border:1px solid #3b393b;overflow:hidden;cursor:pointer;color:#fff;min-width:0;transition:transform .2s,border-color .2s,background .2s}
.point-mini-card:hover,.point-mini-card.selected{transform:translateY(-3px);border-color:#fa8e33;background:#222124}
.mini-photo{position:relative;display:block;aspect-ratio:1.48;overflow:hidden;background:#24262a}
.mini-photo img{width:100%;height:100%;object-fit:cover;object-position:center 40%;transition:transform .35s}
.point-mini-card:hover .mini-photo img{transform:scale(1.055)}
.mini-number{position:absolute;top:12px;left:12px;background:#101113e8;color:#fff;font-size:11px;font-weight:800;letter-spacing:.09em;padding:8px 10px;border-left:3px solid #ff7519}
.mini-info{display:flex;flex-direction:column;gap:11px;padding:16px 17px 15px}
.mini-info>strong{font-family:'Manrope',sans-serif;font-size:17px;font-weight:800;letter-spacing:-.02em}
.mini-bottom{display:flex;justify-content:space-between;align-items:center}
.point-state{display:inline-flex;align-items:center;gap:5px;width:fit-content;font-size:10px;font-weight:800;letter-spacing:.035em;padding:6px 9px;background:#d6eada;color:#276044;border-radius:3px}
.point-state.is-planned{background:#ffedda;color:#8a5616}
.point-state.is-rented{background:#e8e4e4;color:#615e61}
.mini-arrow{font-size:21px;color:#ff8f36;line-height:1}
.hc-marker-wrap{background:none;border:0}
.hc-map-pin{width:44px;height:44px;display:grid;place-items:center;position:relative;background:linear-gradient(150deg,#ffb82a,#ff6415);border:3px solid #fff;border-radius:14px 14px 14px 4px;box-shadow:0 5px 15px #0005;transform:rotate(-45deg);transition:transform .15s;}
.hc-map-pin b{font-family:'Manrope',sans-serif;font-size:15px;font-weight:800;color:#15100b;transform:rotate(45deg)}
.hc-map-pin.active{background:#161719;border-color:#ff7a1c;transform:rotate(-45deg) scale(1.12)}
.hc-map-pin.active b{color:white}
.hc-map-popup .leaflet-popup-content-wrapper{padding:0;border-radius:9px;background:#151618;color:#f9f8f7;overflow:hidden;box-shadow:0 20px 50px #0006}
.hc-map-popup .leaflet-popup-content{margin:0;width:315px!important}
.hc-map-popup .leaflet-popup-tip{background:#151618}
.hc-map-popup a.leaflet-popup-close-button{z-index:5;top:12px;right:13px;font-size:23px;color:#fff;background:#111e;border-radius:50%;height:28px;width:28px;line-height:27px;text-align:center;text-decoration:none}
.hc-map-popup a.leaflet-popup-close-button:hover{color:#ff9636}
.hc-popup-photo{width:100%;height:165px;position:relative;overflow:hidden;background:#242528}
.hc-popup-photo img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.popup-photo-index{position:absolute;left:12px;top:12px;background:#0d0d0de0;color:white;font-size:9px;font-weight:800;letter-spacing:.09em;padding:8px 10px;border-left:3px solid #ff7925}
.hc-popup-main{padding:18px 17px 17px}
.hc-popup-header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.hc-popup-header>strong{font-size:18px;font-family:'Manrope',sans-serif;letter-spacing:-.025em}
.hc-popup-subtitle{display:block;margin-top:5px;color:#aaa6a7;font-size:12px}
.hc-popup-note{display:block;margin-top:9px;color:#ffa957;line-height:1.4;font-size:10px}
.hc-popup-links{display:grid;gap:9px;margin-top:16px}
.hc-popup-links a{display:flex;align-items:center;justify-content:center;text-align:center;border-radius:4px;padding:11px 13px;font-size:12px;font-weight:800;text-decoration:none}
.hc-popup-whatsapp{color:#19100a!important;background:#ff8b24}
.hc-popup-google{color:#fff!important;border:1px solid #555459;background:#27272a}
.hc-popup-links a:hover{filter:brightness(1.12)}
.hc-map .leaflet-control-zoom a{background:#1d1d1f;border-color:#353439;color:#fff}
.hc-map .leaflet-control-zoom a:hover{background:#39393b;color:#fff}
.hc-map .leaflet-control-attribution{font-size:9px}
@media (max-width:820px){.hc-map{height:470px}.points-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-hint{display:none}}
@media (max-width:620px){.map-banner{padding:19px 17px;align-items:flex-start}.map-banner h3{font-size:21px}.map-banner p{font-size:12px}.map-banner-count strong{font-size:38px}.map-banner-count span{font-size:8px}.hc-map{height:450px}.map-bottomline{flex-direction:column;gap:6px;font-size:10px}.map-bottomline>span:last-child{text-align:left}.location-mini-heading{display:block}.location-mini-heading p{margin-top:8px}.points-mini-grid{gap:10px}.mini-info{padding:12px}.mini-info>strong{font-size:14px}.mini-number{top:8px;left:8px;font-size:10px;padding:6px 8px}.hc-map-popup .leaflet-popup-content{width:260px!important}.hc-popup-photo{height:138px}.hc-popup-main{padding:14px}.hc-popup-header>strong{font-size:17px}.hc-popup-links a{font-size:11px}.map-shell .leaflet-popup{margin-bottom:20px}}

/* V3 — aviso discreto somente quando o provedor cartográfico falhar */
.map-tile-warning:not([hidden]){display:block;position:absolute;top:15px;left:15px;right:75px;z-index:450;background:#171719ed;color:#fff;border-left:4px solid #ff831e;box-shadow:0 5px 20px #0003;padding:12px 16px;font-size:12px;line-height:1.5;max-width:490px;border-radius:4px}
@media(max-width:620px){.map-tile-warning:not([hidden]){right:15px;max-width:none;top:12px;font-size:11px;padding:10px 12px}}

/* V4 — MapLibre + fallback local utilizável, mesmo se o provedor de mapas falhar. */
.map-shell{overflow:hidden;isolation:isolate}
.hc-map{position:relative;overflow:hidden;z-index:1}
.hc-map-marker{background:transparent;border:0;padding:0;cursor:pointer;display:block;width:48px;height:52px;outline-offset:3px}
.hc-map-marker .hc-map-pin{display:grid}
.hc-map .maplibregl-control-container{font-family:inherit}
.hc-map .maplibregl-ctrl-group{background:#1c1d20;box-shadow:0 5px 15px #0003;border:1px solid #5b5757}
.hc-map .maplibregl-ctrl-group button{color:#fff;filter:invert(.9)}
.hc-map .maplibregl-ctrl-attrib{font-size:9px!important}
.hc-map-popup .maplibregl-popup-content{background:#151618;color:#f9f8f7;box-shadow:0 18px 48px #0007;padding:0;overflow:hidden;border-radius:9px;width:315px;max-width:calc(100vw - 50px)}
.hc-map-popup .maplibregl-popup-tip{border-top-color:#151618!important;border-bottom-color:#151618!important}
.hc-map-popup .maplibregl-popup-close-button{z-index:2;position:absolute;right:10px;top:10px;color:#fff;background:#141414dd;border-radius:50%;font-size:23px;width:30px;height:30px;line-height:29px}
.hc-map-popup .maplibregl-popup-close-button:hover{background:#ff7f2b;color:#000}
.hc-map-popup .hc-popup{width:315px;max-width:100%}
.hc-map-backup{position:absolute;z-index:5;inset:0;background:radial-gradient(ellipse at 72% 29%,#e8ede8 0%,#dde9dd 40%,#cbdccf 75%,#c0d2c8 100%);overflow:hidden;color:#163b38}
.hc-map-backup[hidden],.backup-map-popup[hidden]{display:none!important}
.hc-map-backup:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#49736620 1px,transparent 1px),linear-gradient(90deg,#49736620 1px,transparent 1px);background-size:70px 70px;transform:skewX(-12deg) scale(1.25);opacity:.6;pointer-events:none}
.hc-map-backup:after{content:'';position:absolute;inset:0;background:linear-gradient(140deg,transparent 34%,#fafbf882 35%,#fafbf882 36%,transparent 37%,transparent 61%,#f9faf93c 62%,#f9faf93c 63%,transparent 64%);pointer-events:none;opacity:.6}
.backup-map-top{position:absolute;top:23px;left:25px;right:25px;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:2}
.backup-map-kicker{font-size:11px;font-weight:850;letter-spacing:.16em;color:#204e43}
.backup-map-label{background:#fffdfa;box-shadow:0 3px 12px #0001;border:1px solid #0001;padding:8px 12px;font-size:11px;color:#52645c;font-weight:750}
.backup-map-info{position:absolute;top:60px;left:25px;z-index:2;color:#526a62;font-size:12px}
.backup-map-pins{position:absolute;inset:0;z-index:2}
.backup-pin{position:absolute;display:flex;flex-direction:column;align-items:center;gap:7px;padding:0;background:none;border:0;transform:translate(-50%,-50%);cursor:pointer;z-index:2}
.backup-pin:focus-visible{outline:3px solid #10191e;outline-offset:5px}
.backup-pin .hc-map-pin{box-shadow:0 4px 16px #0004}
.backup-pin-name{background:#142522e6;border-radius:3px;color:#fff;font-size:11px;font-weight:800;white-space:nowrap;padding:5px 8px}
.backup-pin.selected{z-index:3}
.backup-pin.selected .hc-map-pin{background:#10191e;border-color:#ff8a2a}
.backup-pin.selected .hc-map-pin b{color:#fff}
.backup-map-bottom{position:absolute;left:20px;bottom:18px;z-index:2;background:#fffdfaec;padding:11px 14px;color:#49605c;font-size:11px;font-weight:750}
.backup-map-popup{position:absolute;z-index:10;left:50%;top:50%;transform:translate(-50%,-50%);width:318px;max-width:calc(100% - 32px);max-height:calc(100% - 32px);overflow-y:auto;background:#151618;border-radius:10px;box-shadow:0 18px 65px #18251db0;color:#fff}
.backup-popup-close{position:absolute;z-index:2;right:10px;top:10px;width:32px;height:32px;border:0;border-radius:50%;background:#141414e3;color:#fff;font-size:24px;line-height:32px;cursor:pointer}
.backup-popup-close:hover{background:#ff842b;color:#151515}
.hc-map-backup .hc-popup-photo{height:140px}
.hc-map-backup .hc-popup-main{padding:15px}
.hc-map-backup .hc-popup-links{gap:7px;margin-top:12px}
.hc-map-backup .hc-popup-links a{padding:10px 12px}
@media(max-width:620px){
 .hc-map-popup .maplibregl-popup-content,.hc-map-popup .hc-popup{width:255px}
 .hc-map-popup .hc-popup-photo{height:128px}
 .backup-map-top{left:13px;right:13px;top:15px}
 .backup-map-kicker{font-size:9px;letter-spacing:.08em}
 .backup-map-label{font-size:10px;padding:6px 7px}
 .backup-map-info{left:13px;top:49px;font-size:10px}
 .backup-pin .hc-map-pin{width:35px;height:35px;border-width:2px;border-radius:11px 11px 11px 3px}
 .backup-pin .hc-map-pin b{font-size:12px}
 .backup-pin-name{font-size:9px;padding:4px}
 .backup-map-bottom{left:8px;bottom:9px;padding:7px;font-size:9px}
 .backup-map-popup{width:280px;max-height:calc(100% - 20px)}
}

/* Mantém acessíveis os Pontos 01 e 04, geograficamente muito próximos, no celular. */
.map-shell:has(.hc-map-backup:not([hidden])) .map-hint{display:none}
@media(max-width:620px){.backup-pin[data-id="4"]{transform:translate(calc(-50% + 18px),calc(-50% + 84px))}}

/* V5: Google Maps JavaScript API */
.hc-map-fallback{position:absolute;inset:0;z-index:5;background:linear-gradient(135deg,#eae8e4,#dadbd8);display:grid;place-items:center;color:#16171a;padding:25px}
.hc-map-fallback[hidden]{display:none!important}
.map-fallback-panel{max-width:440px;background:#fff;border:1px solid #e0dad4;border-top:4px solid #fc7727;padding:26px 30px;box-shadow:0 24px 70px #0002;text-align:center}
.map-fallback-icon{font-size:36px;color:#f07323;font-weight:bold}
.map-fallback-eyebrow{color:#a04c18;letter-spacing:.17em;font-size:10px;font-weight:800}
.map-fallback-panel h4{font-size:22px;margin:9px 0;color:#151515;line-height:1.3;font-family:Manrope,Arial,sans-serif}
.map-fallback-panel p{color:#666;line-height:1.65;font-size:13px}
.map-fallback-cta{display:inline-block;background:#18191b;color:#fff;padding:12px 17px;margin-top:10px;font-size:12px;font-weight:800;border-radius:4px}
.point-detail-no-map{position:absolute;right:16px;top:16px;z-index:8;width:315px;max-width:calc(100% - 32px);background:#161718;color:#fff;box-shadow:0 10px 50px #0007;border-radius:7px;overflow:hidden}
.point-detail-no-map .detail-close{position:absolute;right:10px;top:9px;width:28px;height:28px;z-index:3;color:#fff;border:0;border-radius:50%;font-size:22px;background:#171717d9;cursor:pointer}
.hc-google-marker{width:45px;height:45px;cursor:pointer;display:block;transform:translateY(-11px)}
.hc-google-marker .hc-map-pin{height:42px;width:42px}
.hc-map .gm-style-iw-c{padding:0!important;background:#171719!important;border-radius:8px!important;box-shadow:0 15px 46px #0006!important}
.hc-map .gm-style-iw-d{overflow:auto!important;max-height:450px!important}
.hc-map .gm-style-iw-d .hc-popup{width:315px;max-width:calc(100vw - 72px);background:#171719;color:#fff}
.hc-map .gm-style-iw-tc::after{background:#171719!important}
.hc-map .gm-ui-hover-effect{z-index:3!important;top:4px!important;right:4px!important;background:#fff!important;border-radius:50%;opacity:.88!important}
.hc-map .gm-ui-hover-effect>span{background-color:#000!important}
.hc-map .hc-popup-main,.point-detail-no-map .hc-popup-main{background:#171719;color:#fff}
@media(max-width:620px){.map-fallback-panel{padding:18px 16px}.map-fallback-panel h4{font-size:19px}.point-detail-no-map{top:12px;right:12px;max-width:calc(100% - 24px)}.hc-map .gm-style-iw-d .hc-popup{width:265px}.hc-map .gm-style-iw-d .hc-popup-photo{height:132px}}


/* V9 — cards maiores, fotos centralizadas e modal de ampliação */

.location-mini-heading{align-items:end}
.points-enhanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.point-enhanced-card{background:#17181b;border:1px solid #343236;overflow:hidden;transition:transform .22s,box-shadow .22s,border-color .22s;box-shadow:0 10px 30px rgba(0,0,0,.16)}
.point-enhanced-card:hover,.point-enhanced-card.selected{transform:translateY(-4px);border-color:#f58b2f;box-shadow:0 20px 44px rgba(0,0,0,.26)}
.point-card-media{position:relative}
.point-card-image-button{display:block;position:relative;padding:0;border:0;background:#1d1e22;width:100%;cursor:pointer;text-align:left;overflow:hidden}
.point-card-image-button img{display:block;width:100%;height:320px;object-fit:cover;transition:transform .38s ease}
.point-enhanced-card:hover .point-card-image-button img,.point-card-image-button:focus-visible img{transform:scale(1.045)}
.point-card-image-button:focus-visible{outline:2px solid #ff8b2d;outline-offset:-2px}
.point-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,7,8,.14),rgba(7,7,8,.06) 38%,rgba(7,7,8,.58) 100%);pointer-events:none}
.point-card-index{position:absolute;top:16px;left:16px;background:#111214e8;color:#fff;font-weight:800;font-size:11px;letter-spacing:.12em;padding:9px 12px;border-left:3px solid #ff7a1d;z-index:1}
.point-card-zoom{position:absolute;right:16px;bottom:16px;background:rgba(15,16,18,.84);backdrop-filter:blur(4px);color:#fff;font-size:11px;font-weight:800;padding:9px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;z-index:1}
.point-card-content{padding:22px 22px 20px}
.point-card-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.point-card-topline h4{margin:0;font-family:'Manrope',sans-serif;font-size:28px;letter-spacing:-.04em;line-height:1.05}
.point-card-subtitle{margin:8px 0 0;color:#b8b2b1;font-size:14px;line-height:1.5}
.point-card-note{margin:14px 0 0;color:#ffb26e;font-size:12px;line-height:1.6}
.point-card-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:18px;padding-top:18px;border-top:1px solid #2f2d30}
.point-card-map-btn,.point-card-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:4px;font-size:12px;font-weight:800;text-decoration:none}
.point-card-map-btn{background:#ff8b24;color:#18110b;border:0;cursor:pointer}
.point-card-map-btn:hover{filter:brightness(1.04)}
.point-card-link{border:1px solid #4a474c;color:#e3dfde;background:#202125}
.point-card-link:hover{background:#2c2d31}
.photo-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:22px}
.photo-modal[hidden]{display:none!important}
.photo-modal-backdrop{position:absolute;inset:0;background:rgba(4,4,5,.78);backdrop-filter:blur(3px)}
.photo-modal-dialog{position:relative;z-index:1;width:min(1100px,100%);max-height:min(90vh,900px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);background:#151619;border:1px solid #343238;box-shadow:0 28px 80px rgba(0,0,0,.42);overflow:hidden}
.photo-modal-close{position:absolute;top:14px;right:14px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:rgba(20,20,20,.85);color:#fff;font-size:29px;line-height:42px;cursor:pointer}
.photo-modal-media-wrap{background:#0e0f11;min-height:560px}
.photo-modal-image{display:block;width:100%;height:100%;max-height:90vh;object-fit:contain;background:#0e0f11}
.photo-modal-info{padding:34px 28px 30px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,#1a1b1f,#141518)}
.photo-modal-top{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.photo-modal-index{display:inline-flex;align-items:center;background:#111214;color:#fff;font-size:11px;font-weight:800;letter-spacing:.12em;padding:8px 10px;border-left:3px solid #ff7a1d}
.photo-modal-info h3{margin:18px 0 10px;font-family:'Manrope',sans-serif;font-size:35px;line-height:1.04;letter-spacing:-.05em}
.photo-modal-subtitle{margin:0;color:#bbb5b3;font-size:15px;line-height:1.65}
.photo-modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.photo-modal-btn{min-width:170px;justify-content:center;text-decoration:none}
body.modal-open{overflow:hidden}
@media (max-width:980px){
  .points-enhanced-grid{grid-template-columns:1fr 1fr;gap:18px}
  .point-card-image-button img{height:285px}
  .point-card-topline h4{font-size:24px}
  .photo-modal-dialog{grid-template-columns:1fr;max-height:92vh;overflow:auto}
  .photo-modal-media-wrap{min-height:0;height:52vh}
}
@media (max-width:720px){
  .points-enhanced-grid{grid-template-columns:1fr}
  .point-card-image-button img{height:275px}
  .point-card-content{padding:18px}
  .point-card-topline{align-items:flex-start;flex-direction:column}
  .point-card-topline h4{font-size:24px}
  .point-card-actions{flex-direction:column;align-items:stretch}
  .point-card-map-btn,.point-card-link,.photo-modal-btn{width:100%}
  .photo-modal{padding:10px}
  .photo-modal-info{padding:24px 18px 20px}
  .photo-modal-info h3{font-size:29px}
  .photo-modal-media-wrap{height:42vh}
}

.point-card-links-inline{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.point-card-link-wa{border-color:#2d6f54;color:#c8f5de;background:#183528}
.point-card-link-wa:hover{background:#1f4634}
@media (max-width:720px){.point-card-links-inline{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}.point-card-link{width:100%}}
@media (max-width:520px){.point-card-links-inline{grid-template-columns:1fr}}
