/* V47 — Home no modelo enviado (claro / escuro / claro, linhas animadas, vidro, ilustração) */
.home47{--ink:#0b0b0b;--mute:#6f7177;--line:#e3e3e3}
.home47 body{background:#f4f4f4}
@keyframes h47drift{0%{transform:translateX(0)}50%{transform:translateX(-3%)}100%{transform:translateX(0)}}
@keyframes h47float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes h47floatR{0%,100%{transform:rotate(-24deg) translateY(0)}50%{transform:rotate(-24deg) translateY(-14px)}}

/* ---------- cabeçalho claro (só na Home) ---------- */
@media (min-width:1001px){
  html.home47 .topbar{background:rgba(255,255,255,.92)!important;border-bottom:1px solid #ececec!important;box-shadow:none!important}
  html.home47 .nav-primary-link,html.home47 .nav-trigger{color:#1b1b1b!important;font-weight:400!important;font-size:14px!important}
  html.home47 .nav{gap:44px!important}
}
html.home47 .menu-toggle{color:#0b0b0b!important;border-color:#d8d8d8!important;background:#fff!important}
@media (max-width:1000px){html.home47 .topbar{background:rgba(255,255,255,.95)!important;border-bottom:1px solid #ececec!important}}
html.home47 .brand img{width:118px!important;height:auto}
html.home47 .header-cta{background:#0b0b0b!important;color:#fff!important;border-radius:999px!important;font-weight:400!important;font-size:14px!important;padding:0 16px 0 18px!important;gap:12px!important;display:inline-flex!important;align-items:center!important;min-height:42px!important}
html.home47 .header-cta svg{width:16px;height:16px}

/* ---------- elementos comuns ---------- */
.h47 section{position:relative;overflow:hidden}
.h47-waves{position:absolute;left:-5%;width:110%;bottom:-40px;height:72%;pointer-events:none;animation:h47drift 18s ease-in-out infinite;z-index:0}
html.home47 body main .h47-title:not(#_){font-size:clamp(34px,3.7vw,54px)!important;line-height:1.04!important;letter-spacing:-.035em!important;font-weight:700!important;color:var(--ink);margin:0}
.h47-title span{font-weight:700!important}
.h47-title .mute{color:var(--mute)}
html.home47 body main .h47-title.is-light:not(#_){color:#fff}
.h47-lead{font-size:16px!important;line-height:1.6!important;color:#55575c;max-width:470px;margin:24px 0 0}
.h47-lead.is-light{color:#a9abb0}
.h47-btn{display:inline-flex;align-items:center;gap:18px;margin-top:34px;min-height:50px;padding:0 22px 0 26px;border-radius:999px;font-size:15px;text-decoration:none;transition:transform .25s ease,background .25s,border-color .25s}
.h47-btn svg{width:18px;height:18px;transition:transform .25s ease}
.h47-btn:hover{transform:translateY(-2px)}
.h47-btn:hover svg{transform:translate(3px,-3px)}
.h47-btn.is-dark{background:#0b0b0b;color:#fff}
.h47-btn.is-outline{border:1.5px solid rgba(255,255,255,.75);color:#fff}
.h47-btn.is-outline:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.h47-kicker{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#55575c;margin:0 0 18px}

/* ---------- 1. abertura ---------- */
.h47-hero{background:linear-gradient(180deg,#f7f7f7 0%,#efefef 100%);padding:70px 0 80px}
.h47-hero .h47-waves{color:#dcdcdc;opacity:.9}
.h47-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:56px;align-items:center}
.h47-hero-copy{max-width:540px}

/* catálogo de produtos no formato do modelo */
.h47 .ps-stack{background:#0d0d0e;border-radius:22px;padding:10px;box-shadow:0 40px 80px rgba(0,0,0,.28);overflow:hidden}
.h47 .ps-stack:before{opacity:.7}
.h47 .ps-top,.h47 .ps-num,.h47 .ps-progress{display:none!important}
.h47 .ps-cards{gap:6px}
.h47 .ps-card{border-radius:14px;background:#141416;border-color:rgba(255,255,255,.06)}
.h47 .ps-card:before{display:none}
.h47 .ps-card.is-open{border-color:rgba(255,255,255,.12);box-shadow:none;background:#141416}
.h47 .ps-head{grid-template-columns:auto minmax(0,1fr) auto!important;gap:14px!important;min-height:62px!important;padding:10px 14px!important}
.h47 .ps-card.is-open .ps-head{padding:14px 14px 4px!important}
.h47 .ps-sym{width:30px;height:30px;display:grid;place-items:center;position:relative;z-index:2}
.h47 .ps-sym svg{width:24px;height:24px;fill:var(--pa)}
.h47 .ps-id{gap:3px!important}
.h47 .ps-logo{height:16px!important}
.h47 .ps-card.is-open .ps-id{flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:4px!important}
.h47 .ps-card.is-open .ps-logo{height:20px!important}
.h47 .ps-tag{font-size:11px!important;color:#9a9ca1!important}
.h47 .ps-card.is-open .ps-tag{display:block!important}
.h47 .ps-strip{width:56%!important;right:52px!important;opacity:.8!important}
.h47 .ps-plus{width:30px!important;height:30px!important;border-width:1.2px!important}
.h47 .ps-card.is-open .ps-plus{display:none}
.h47 .ps-inner{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:14px!important}
.h47 .ps-card.is-open .ps-inner{padding:6px 14px 16px 58px!important}
.h47 .ps-title{font-size:15px!important;line-height:1.3!important;letter-spacing:-.01em!important}
.h47 .ps-text{font-size:12px!important;margin-top:8px!important;color:#a3a5aa!important}
.h47 .ps-btn{min-height:32px!important;margin-top:14px!important;padding:0 14px!important;font-size:12px!important;font-weight:400!important}
.h47 .ps-shot img{transform:perspective(900px) rotateY(-14deg) rotateX(4deg)!important;border-radius:8px!important;border:3px solid #2a2a2c!important;box-shadow:0 18px 30px rgba(0,0,0,.55)!important}

/* ---------- 2. seção escura ---------- */
.h47-dark{background:radial-gradient(120% 90% at 80% 10%,#1c1c1e 0%,#0b0b0c 60%);padding:96px 0}
.h47-dark .h47-waves{color:#ffffff;opacity:.07}
.h47-dark-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.h47-dark .question-panel{background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:26px!important;padding:24px!important;box-shadow:0 30px 70px rgba(0,0,0,.4)!important;display:grid!important;grid-template-columns:1fr auto;grid-template-areas:"dots nav" "view view";row-gap:18px;align-items:center}
.h47-dark .question-panel:before,.h47-dark .question-close,.h47-dark .carousel-counter{display:none!important}
.h47-dark .question-panel-top{grid-area:nav;justify-content:flex-end!important}
.h47-dark .carousel-meta{grid-area:dots;justify-content:flex-start!important}
.h47-dark .carousel-viewport{grid-area:view;min-height:0!important}
.h47-dark .carousel-track{min-height:0!important}
.h47-dark .carousel-btn{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.14)!important;color:#fff!important;transition:background .2s}
.h47-dark .carousel-btn:hover{background:rgba(255,255,255,.14)!important}
.h47-dark .carousel-dots{display:flex;gap:6px}
.h47-dark .dot{width:7px;height:7px;border-radius:99px;background:rgba(255,255,255,.3)!important;border:0;padding:0;transition:width .3s,background .3s}
.h47-dark .dot.active{width:22px;background:#fff!important}
.h47-dark .question-panel .carousel-card{background:linear-gradient(180deg,#1f1f22,#18181a)!important;border:1px solid rgba(255,255,255,.07)!important;border-radius:20px!important;min-height:250px!important;padding:28px!important;overflow:hidden}
.h47-dark .question-panel .carousel-card:before{display:none!important}
.h47-dark .question-panel .carousel-card.active{display:grid!important;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:10px}
.h47-dark .q-copy strong{color:#fff;font-size:clamp(26px,2.4vw,36px)!important;line-height:1.08!important;letter-spacing:-.03em!important;margin:0!important;max-width:280px}
.h47-dark .q-copy p{color:#a9abb0!important;font-size:14px!important;margin:16px 0 0!important}
.q-ill{width:100%;height:auto;overflow:visible}
.q-ill .q-l1{animation:h47float 5s ease-in-out infinite}
.q-ill .q-l2{animation:h47float 5s ease-in-out .4s infinite}
.q-ill .q-l3{animation:h47float 5s ease-in-out .8s infinite}
.q-ill .q-badge{animation:h47float 4s ease-in-out 1s infinite}

/* ---------- 3. sobre a Sete + clientes ---------- */
.h47-about{background:linear-gradient(180deg,#f2f2f2,#ececec);padding:96px 0 80px}
.h47-about .container{position:relative;z-index:1}
.h47-about-copy{max-width:620px}
.h47-glass{position:absolute;right:-60px;top:40px;width:560px;height:520px;pointer-events:none;z-index:0}
.h47-glass span{position:absolute;border-radius:36px;background:linear-gradient(135deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.35) 45%,rgba(220,220,222,.25) 100%);border:1px solid rgba(255,255,255,.95);box-shadow:inset 0 1px 0 #fff,inset -10px -10px 30px rgba(180,182,186,.25),0 30px 60px rgba(0,0,0,.08);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.h47-glass .g1{width:250px;height:330px;right:60px;top:10px;transform:rotate(-24deg);animation:h47floatR 9s ease-in-out infinite}
.h47-glass .g2{width:250px;height:330px;right:170px;top:90px;transform:rotate(-24deg);animation:h47floatR 9s ease-in-out 1.2s infinite;opacity:.85}
.h47-glass .g3{width:120px;height:160px;right:30px;top:300px;transform:rotate(-24deg);animation:h47floatR 9s ease-in-out 2.4s infinite;opacity:.7}
.h47 .about-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;margin:38px 0 0!important;padding:0;list-style:none}
.h47 .about-stats li{padding:0 22px!important;border-left:1px solid #d2d2d2!important;display:flex;flex-direction:column;gap:8px}
.h47 .about-stats li:first-child{padding-left:0!important;border-left:0!important}
.h47 .about-stats strong{font-size:clamp(26px,2.4vw,34px)!important;font-weight:700!important;letter-spacing:-.03em;color:var(--ink);white-space:nowrap}
.h47 .about-stats span{font-size:13px!important;line-height:1.4;color:#6a6c71;max-width:150px!important}
.h47-clients{margin-top:64px;padding-top:34px;border-top:1px solid #dcdcdc}
html.home47 body main .h47-clients h3:not(#_){font-size:20px!important;letter-spacing:-.01em!important;margin:0 0 22px}
.h47-logos{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}
.h47-logos-view{overflow:hidden;background:rgba(255,255,255,.65);border:1px solid #e2e2e2;border-radius:18px;padding:18px 26px}
.h47-logos-track{display:flex;gap:48px;list-style:none;margin:0;padding:0;transition:transform .5s ease;align-items:center}
.h47-logos-track li{flex:0 0 auto;height:52px;display:grid;place-items:center}
.h47-logos-track img{max-height:48px;width:auto;max-width:140px;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .3s,opacity .3s}
.h47-logos-track li:hover img{filter:none;opacity:1}
.h47-arrow{width:40px;height:40px;border-radius:50%;border:1px solid #d6d6d6;background:#fff;color:#1b1b1b;cursor:pointer;font-size:16px;transition:background .2s}
.h47-arrow:hover{background:#f0f0f0}

/* ---------- responsivo ---------- */
@media (max-width:1000px){
  .h47-hero-grid,.h47-dark-grid{grid-template-columns:1fr;gap:40px}
  .h47-glass{opacity:.45;right:-200px}
}
@media (max-width:640px){
  .h47-hero{padding:44px 0 56px}.h47-dark,.h47-about{padding:64px 0}
  .h47 .ps-card.is-open .ps-inner{padding:6px 12px 14px!important;grid-template-columns:1fr!important}
  .h47-dark .question-panel .carousel-card.active{grid-template-columns:1fr}
  .q-ill{max-width:180px;margin:6px auto 0}
  .h47 .about-stats{grid-template-columns:1fr 1fr!important;row-gap:22px}
  .h47 .about-stats li:nth-child(3){padding-left:0!important;border-left:0!important}
  .h47-logos{grid-template-columns:1fr}
  .h47-arrow{display:none}
  .h47-glass{display:none}
}
@media (prefers-reduced-motion:reduce){.h47-waves,.q-ill *,.h47-glass span{animation:none!important}}
.h47-dark .question-panel{min-height:0!important;height:auto!important;align-content:start!important;align-self:center}
.h47-dark .question-panel>*{margin:0!important}
.h47 .ps-card.is-open .ps-strip{opacity:0!important}
@media (max-width:640px){
  html.home47 .header-cta{font-size:12px!important;padding:0 14px!important;min-height:38px!important;white-space:nowrap}
  html.home47 .header-cta svg{display:none}
  html.home47 .brand img{width:96px!important}
  .h47-dark .question-panel{padding:16px!important;row-gap:12px}
  .h47-dark .question-panel .carousel-card{min-height:0!important;padding:22px!important}
}
