/* O MOVIMENTO DO SITE (13/11/2026). É o movimento do estudo "site fluido" (06/11), agora SEM o vídeo
   de abertura, que continua só como estudo. O movimento: rolagem macia, títulos palavra por palavra,
   fotos que se revelam, profundidade, números contando e as etapas do "Como funciona" fixas na tela.
   Novo: os planos do Telhado Fiel passam para o LADO conforme a pessoa rola (no celular, deslizando o dedo).
   Quem pede "menos movimento" no aparelho vê o site como sempre foi. */

/* as fotos dão zoom ao aparecer: nada pode passar da borda e criar rolagem para o lado
   ("clip" e não "hidden", que quebraria as partes que ficam paradas na tela) */
html,body{overflow-x:clip}
.fw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.fwi{display:inline-block;will-change:transform}
.fl-box{overflow:hidden;will-change:clip-path}
.fl-box > img{will-change:transform}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.topbar.fl-some{transform:translateY(-110%)}
.topbar{transition:transform .45s cubic-bezier(.2,.8,.2,1),background .3s}
.process-line li.fl-on .process-node{box-shadow:0 0 0 6px rgba(215,25,55,.22);border-color:#d71937}

/* ------------------------------------------------ TELHADO FIEL: os planos andando para o lado */
/* (só com .fh-on, posto pelo movimento.js; sem ele os planos ficam na grade de sempre) */
#fiel.fh-on .fh-palco{position:relative;overflow:hidden;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:24px;padding-bottom:24px}
#fiel.fh-on .fiel-plans-intro{border-top:0;margin-top:0}
#fiel.fh-on .fh-fundo{position:absolute;inset:0;z-index:0;pointer-events:none}
#fiel.fh-on .fh-fundo i{position:absolute;inset:-8%;background:center/cover no-repeat;filter:blur(70px) saturate(1.3) brightness(1.25);opacity:0;transition:opacity .9s ease;transform:scale(1.05)}
#fiel.fh-on .fh-fundo i.on{opacity:.2}
#fiel.fh-on .fh-palco>*:not(.fh-fundo){position:relative;z-index:1}
#fiel.fh-on .fiel-plans-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 48px;align-items:end}
#fiel.fh-on .fiel-plans-intro .eyebrow{grid-column:1/-1}
#fiel.fh-on .fiel-plans-intro h3{margin:0}
#fiel.fh-on .fiel-plans-intro p{margin:0}
#fiel.fh-on .plan-grid{display:flex;flex-wrap:nowrap;gap:36px;width:max-content;margin-top:34px}
#fiel.fh-on .plan-card{flex:none;width:min(1000px,74vw);display:grid;grid-template-columns:auto minmax(0,1fr);border-radius:26px;
  background:#fff;border:1px solid #e2ded7;box-shadow:0 30px 70px -30px rgba(36,50,56,.45);transform-origin:50% 60%;will-change:transform,opacity}
#fiel.fh-on .plan-card{--alt:min(56vh,540px);height:var(--alt)}
#fiel.fh-on .plan-art{height:var(--alt);width:auto;aspect-ratio:4/5;align-self:stretch}
#fiel.fh-on .fiel-card-info{position:relative;padding:12px 18px 18px}
#fiel.fh-on .fh-num{position:absolute;right:26px;top:14px;font-size:clamp(4rem,8vw,7.5rem);font-weight:900;line-height:1;letter-spacing:-.05em;
  color:transparent;-webkit-text-stroke:2px rgba(147,6,49,.18)}
#fiel.fh-on .plan-heading{padding:30px 22px 12px}
#fiel.fh-on .plan-heading span{font-size:.78rem}
#fiel.fh-on .plan-heading h3{font-size:clamp(2.2rem,3.6vw,3.4rem);line-height:1;margin-top:8px;letter-spacing:-.03em}
#fiel.fh-on .plan-body{padding:0 22px 8px}
#fiel.fh-on .plan-body ul{font-size:1.02rem;line-height:1.5;padding-left:0;list-style:none;margin:10px 0 24px}
#fiel.fh-on .plan-body li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid #efebe4;margin:0}
#fiel.fh-on .plan-body li::before{content:"";flex:none;width:18px;height:18px;margin-top:3px;border-radius:50%;
  background:#930631 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/12px no-repeat}
#fiel.fh-on .plan-contact{align-self:flex-start;padding:14px 22px;font-size:.85rem;border-radius:8px}
/* a régua de baixo: o nome de cada plano e uma barra que enche */
.fh-regua{display:flex;align-items:center;gap:22px;margin-top:30px}
.fh-regua ol{display:flex;gap:22px;list-style:none;margin:0;padding:0}
.fh-regua li{font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#9aa3a8;transition:color .35s;cursor:pointer;display:flex;align-items:center;gap:8px}
.fh-regua li i{width:8px;height:8px;border-radius:50%;background:#cfd4d6;transition:.35s}
.fh-regua li.on{color:#930631}.fh-regua li.on i{background:#930631;box-shadow:0 0 0 5px rgba(147,6,49,.16)}
.fh-barra{flex:1;height:3px;border-radius:3px;background:#e2ded7;overflow:hidden;max-width:420px}
.fh-barra i{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#930631,#d71937)}
.fh-dica{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#7b8388;margin-left:auto}

/* no celular: carrossel de deslizar o dedo, com o próximo plano aparecendo na beira */
#fiel.fh-movel .plan-grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin:26px -14px 0;padding:6px 14px 16px;scrollbar-width:none}
#fiel.fh-movel .plan-grid::-webkit-scrollbar{display:none}
#fiel.fh-movel .plan-card{flex:0 0 84%;scroll-snap-align:center;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .45s}
#fiel.fh-movel .plan-card:not(.on){transform:scale(.94);opacity:.6}
#fiel.fh-movel .fh-regua{margin-top:10px;flex-wrap:wrap;gap:12px}
#fiel.fh-movel .fh-regua ol{gap:12px;flex-wrap:wrap}
#fiel.fh-movel .fh-barra{display:none}
#fiel.fh-movel .fh-dica{margin-left:0;width:100%}
/* notebooks de tela baixa: o bloco dos planos fica mais compacto para caber inteiro parado na tela */
@media(min-width:761px) and (max-height:860px){
  #fiel.fh-on .fiel-plans-intro{padding-top:22px}
  #fiel.fh-on .fiel-plans-intro p{display:none}
  #fiel.fh-on .fiel-plans-intro h3{font-size:clamp(1.6rem,2.4vw,2.1rem)}
  #fiel.fh-on .plan-grid{margin-top:18px}
  #fiel.fh-on .plan-card{--alt:min(62vh,480px)}
  #fiel.fh-on .plan-heading{padding:16px 18px 6px}
  #fiel.fh-on .plan-heading h3{font-size:2rem;margin-top:4px}
  #fiel.fh-on .fh-num{font-size:4.2rem;top:10px}
  #fiel.fh-on .plan-body{padding:0 18px 4px}
  #fiel.fh-on .plan-body ul{margin:6px 0 14px}
  #fiel.fh-on .plan-contact{padding:11px 18px}
  #fiel.fh-on .plan-heading{padding-top:20px}
  #fiel.fh-on .plan-body li{padding:4px 0;font-size:.88rem;line-height:1.4}
  .fh-regua{margin-top:16px}
}

/* A ARTE É O CARD (pedido do Fernando, 13/11): sem tarja branca embaixo da imagem. O fundo do card inteiro
   é a própria arte do plano, desfocada; a arte nítida ocupa a altura toda e se dissolve no fundo; os
   dizeres ficam num painel de vidro translúcido por cima. A arte vem do JS na variável --arte. */
#fiel.fh-on .plan-card,#fiel.fh-movel .plan-card{position:relative;overflow:hidden;background:#3a3f44;border:1px solid rgba(255,255,255,.35);isolation:isolate}
#fiel.fh-on .plan-card::before,#fiel.fh-movel .plan-card::before{content:"";position:absolute;inset:-40px;z-index:-1;background:var(--arte) center/cover no-repeat;
  filter:blur(26px) saturate(1.25) brightness(1.02);transform:scale(1.12)}
#fiel.fh-on .plan-art{background:transparent;-webkit-mask-image:linear-gradient(90deg,#000 86%,transparent 100%);mask-image:linear-gradient(90deg,#000 86%,transparent 100%)}
#fiel.fh-on .plan-art img{object-fit:cover}
#fiel.fh-on .fiel-card-info{margin:18px 18px 18px -14px;padding:6px 10px 14px;border-radius:20px;
  background:rgba(255,255,255,.64);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);
  border:1px solid rgba(255,255,255,.7);box-shadow:0 20px 40px -24px rgba(20,25,28,.45),inset 0 1px 0 rgba(255,255,255,.8);overflow:hidden;display:flex;flex-direction:column}
#fiel.fh-on .plan-body li{border-top-color:rgba(36,50,56,.12)}
#fiel.fh-on .fh-num{-webkit-text-stroke:2px rgba(147,6,49,.22)}
#fiel.fh-on .plan-contact{box-shadow:0 10px 20px -10px rgba(147,6,49,.7)}
/* no celular: a arte em cima, inteira, e os dizeres no vidro logo abaixo, tudo sobre a arte desfocada */
#fiel.fh-movel .plan-art{background:transparent;-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,#000 82%,transparent 100%)}
#fiel.fh-movel .fiel-card-info{margin:-34px 10px 10px;position:relative;z-index:1;border-radius:18px;
  background:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);border:1px solid rgba(255,255,255,.7)}
#fiel.fh-movel .plan-heading{padding:18px 18px 10px}
#fiel.fh-movel .plan-body{padding:0 18px 18px}
/* no celular: o número grande e os itens com o check, iguais aos do computador */
#fiel.fh-movel .fh-num{position:absolute;right:16px;top:10px;font-size:3.4rem;font-weight:900;line-height:1;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px rgba(147,6,49,.25)}
#fiel.fh-movel .plan-heading h3{font-size:1.9rem}
#fiel.fh-movel .plan-body ul{list-style:none;padding-left:0;margin:6px 0 18px}
#fiel.fh-movel .plan-body li{display:flex;gap:10px;align-items:flex-start;padding:6px 0;border-top:1px solid rgba(36,50,56,.12);margin:0}
#fiel.fh-movel .plan-body li::before{content:"";flex:none;width:18px;height:18px;margin-top:3px;border-radius:50%;
  background:#930631 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/12px no-repeat}
#fiel.fh-movel .plan-art{-webkit-mask-image:linear-gradient(180deg,#000 90%,transparent 100%);mask-image:linear-gradient(180deg,#000 90%,transparent 100%)}
/* os cards do carrossel têm a mesma altura (a do plano mais longo): a arte fica colada em cima e o vidro
   preenche o resto, para não sobrar faixa vazia entre os dois nos planos curtos */
#fiel.fh-movel .plan-card{display:flex;flex-direction:column}
#fiel.fh-movel .plan-art{flex:none}
#fiel.fh-movel .fiel-card-info{flex:1;display:flex;flex-direction:column}
#fiel.fh-movel .plan-body{flex:1;display:flex;flex-direction:column}
#fiel.fh-movel .plan-contact{margin-top:auto}
/* artes dos planos (13/11): o preço foi apagado da PRÓPRIA imagem (pintado com a cor do painel, só nas letras;
   originais no scratchpad planos-originais), então o quadrinho que tapava o preço não é mais preciso —
   ele avançava sobre o desenho da casa. */
.plan-inquiry{display:none!important}
/* com o movimento ligado, o "aparecer" antigo (transição de CSS do .reveal) fica desligado */
.fl-ativo .reveal,.fl-ativo .reveal.is-visible,.fl-ativo .reveal.is-pending{transition:none!important}
