*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#F5F6F8;font-family:Inter,system-ui,sans-serif;color:#1E2837}
img{max-width:100%}
a{color:#384F6B}a:hover{color:#1E2837}
[hidden]{display:none!important}

/* Planta clicável e 3D */
.wrap{max-width:1240px;margin:0 auto;display:flex;flex-direction:column;gap:28px}
.eyebrow{margin:0 0 8px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#384F6B}
.eyebrow.light{color:#7CA3D2}
.tour h2,.p3d h2{margin:0;font-family:Poppins,sans-serif;font-size:clamp(28px,4vw,40px);line-height:1.15;font-weight:600}
.muted{color:#556070}.soft{color:#C9D4E2}.small{font-size:13px;margin:0}.fine{color:#9FB0C4}
.tour-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}
.tour-head>div{max-width:680px}.tour-head>p{margin:0;max-width:440px}
.tour{padding:64px 24px;line-height:1.55}
.tour-body{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}
.tour-plan{flex:1 1 300px;max-width:420px;display:flex;flex-direction:column;gap:12px}
.plan-card{background:#fff;border-radius:16px;padding:12px}
.plan-inner{position:relative}.plan-inner img{width:100%;display:block;border-radius:8px}
.pin{position:absolute;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;border:2px solid #fff;background:#fff;color:#1E2837;font:600 15px Inter,sans-serif;cursor:pointer;box-shadow:0 2px 8px rgba(30,40,55,.35)}
.pin.on{background:#384F6B;color:#fff}
.tour-view{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:16px}
.tour-title{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.tour-title h3{margin:0;font-family:Poppins,sans-serif;font-size:26px;font-weight:600}
.tour-title .area{margin:0;background:#384F6B;color:#fff;font-size:14px;padding:6px 14px;border-radius:999px;white-space:nowrap}
.tour-title .area strong{font-weight:600;margin-left:4px}
.tour-sub{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:-8px}
.toplan{display:none;border:1px solid #384F6B;background:#fff;color:#384F6B;font:600 13px Inter,sans-serif;padding:8px 12px;border-radius:8px;cursor:pointer}
.tour-view,.tour-plan{scroll-margin-top:68px}
@media (max-width:900px){.toplan{display:inline-block}}
.stage{position:relative;width:100%;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:#1E2837}
.stage .photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.tag{margin:0;position:absolute;left:16px;top:16px;font-size:13px;font-weight:600;padding:6px 12px;border-radius:6px}
.tag.real{background:#fff;color:#1E2837}.tag.dec{background:#384F6B;color:#fff}
.nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:#fff;color:#1E2837;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.3)}
.nav.prev{left:12px}.nav.next{right:12px}
.thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.thumb{flex:0 0 auto;position:relative;width:96px;height:72px;padding:0;border-radius:8px;overflow:hidden;border:3px solid transparent;background:#1E2837;cursor:pointer}
.thumb.on{border-color:#7CA3D2}.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb span{position:absolute;left:4px;bottom:4px;font:600 10px Inter,sans-serif;padding:2px 6px;border-radius:4px}
.thumb span.real{background:#fff;color:#1E2837}.thumb span.dec{background:#384F6B;color:#fff}
.desc{background:#fff;border-radius:16px;padding:18px 22px}.desc p{margin:0;color:#3A4555}
.p3d{color:#fff;background:#1E2837;padding:72px 24px;line-height:1.55}
.viewer{position:relative;width:100%;height:clamp(380px,60vw,560px);border-radius:20px;overflow:hidden;background:#243142}
.viewer canvas{width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab}
.loading{margin:0;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#C9D4E2;font-weight:500}
.hint{margin:0;position:absolute;right:16px;bottom:14px;font-size:13px;color:#C9D4E2;display:flex;align-items:center;gap:8px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{min-height:44px;display:inline-flex;align-items:center;gap:10px;padding:0 18px;border-radius:999px;border:1px solid #7CA3D2;background:#2E425B;color:#fff;font:500 15px Inter,sans-serif;cursor:pointer}
.chip[aria-pressed=false]{background:transparent;border-color:#56688A;opacity:.6}
.chip span{width:12px;height:12px;border-radius:50%}

/* Barra fixa de WhatsApp no celular (home) */
.wa-bar{display:none}
@media (max-width:760px){
  .wa-bar{display:flex;position:sticky;bottom:0;z-index:20;background:#fff;border-top:1px solid #E4E8EE;padding:10px 16px 14px;gap:12px;align-items:center}
  .wa-bar div{flex:1}.wa-bar p{margin:0}
  .wa-bar a{min-height:48px;display:inline-flex;align-items:center;gap:8px;padding:0 18px;border-radius:12px;background:#0E7A3E;color:#fff;text-decoration:none;font-weight:600}
}

/* Ajustes de celular para as seções da home */
@media (max-width:760px){
  #topo h1{font-size:34px!important}
  h2[style*="font-size: 40px"]{font-size:30px!important}
  p strong{white-space:nowrap}
  section[style*="padding: 56px"] , div[style*="padding: 56px"]{padding:28px!important}
  div[style*="padding: 48px"]{padding:24px!important}
}

/* Menu superior fixo no celular (home) */
@media (max-width:760px){
  html{scroll-padding-top:60px}
  .site-header{position:sticky;top:0;z-index:40;padding:10px 16px!important}
  .site-header>div{flex-wrap:nowrap!important;gap:12px!important}
  .site-header img{height:26px!important;flex:0 0 auto}
  .site-header nav{flex:1 1 auto;min-width:0;flex-wrap:nowrap!important;gap:16px!important;overflow-x:auto;white-space:nowrap;font-size:13.5px!important;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent);padding-right:24px}
  .site-header nav::-webkit-scrollbar{display:none}
  .site-header nav a{flex:0 0 auto;padding:8px 2px}
  .site-header nav a:last-child{display:none}
}

/* Animações de entrada */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms);will-change:opacity,transform}
.rv.rv-in{opacity:1;transform:none}
.photo.ph{animation:phin .45s ease both}
@keyframes phin{from{opacity:0;transform:scale(1.02)}to{opacity:1;transform:none}}
#topo img{animation:heroin 1.3s cubic-bezier(.2,.7,.2,1) both}
@keyframes heroin{from{opacity:0;transform:scale(1.05)}to{opacity:1;transform:none}}
.pin:not(.on){animation:pinpulse 2.6s ease-out infinite}
@keyframes pinpulse{0%{box-shadow:0 2px 8px rgba(30,40,55,.35),0 0 0 0 rgba(124,163,210,.7)}70%,100%{box-shadow:0 2px 8px rgba(30,40,55,.35),0 0 0 12px rgba(124,163,210,0)}}
.pin{transition:transform .2s}.pin:hover{transform:translate(-50%,-50%) scale(1.12)}
.thumb,.chip,.nav{transition:transform .2s,opacity .2s}.thumb:hover,.chip:hover{transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  #topo img,.photo.ph,.pin:not(.on){animation:none}
  html{scroll-behavior:auto}
}
