
/* ═══════ PingPlay B2B — protótipo (conversa com queronopingplay.com) ═══════ */
@font-face{font-family:'Cocogoose'; src:url('assets/cocogoose.otf') format('opentype'); font-weight:400 900; font-style:normal; font-display:swap;}
:root{
  color-scheme:light;
  --accent:#40C4F1; --accent-ink:#0E1516;
  --roxo:#583192; --roxo-2:#563092; --roxo-bg:#2A1850; --roxo-deep:#34206A; --roxo-ink:#160f28;
  --lavanda:#F1ECF9; --aqua:#7DCED7;
  --ink:#231542; --body:#4F5151; --body-2:#5B5470; --muted:#667070;
  --line:#E7EEF0; --line-2:#E1ECEE;
  --card:#ffffff; --ground:#ffffff;
  --maxw:1200px; --pad-x:26px; --sec-pad:clamp(56px,8vw,104px);
  --radius:16px; --fscale:1;
  --shadow:0 18px 50px -24px rgba(35,21,66,.35); --shadow-sm:0 6px 20px -12px rgba(35,21,66,.30);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--ground); color:var(--body); font-family:'Inter',system-ui,-apple-system,sans-serif; line-height:1.6; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;}
img{max-width:100%; display:block;}
::selection{background:var(--accent); color:var(--accent-ink);}
h1,h2,h3,h4{font-family:'Cocogoose','Inter',sans-serif; color:var(--ink); margin:0; line-height:1.12; text-wrap:balance;}
p{margin:0;}
a{color:inherit;}
.container{max-width:var(--maxw); margin:0 auto; padding-inline:var(--pad-x);}
.eyebrow{font-size:12.5px; font-weight:700; letter-spacing:1.6px; text-transform:uppercase; color:var(--roxo); font-family:'Inter',sans-serif;}
.eyebrow.on-dark{color:var(--aqua);}
.lead{font-size:clamp(16px,1.9vw,18.5px); color:var(--body); max-width:62ch;}
.sr-only{position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important;}
a,button,input,select,textarea,[tabindex]{outline:none;}
:focus-visible{outline:3px solid #fff !important; outline-offset:2px !important; box-shadow:0 0 0 6px var(--roxo) !important; border-radius:6px;}
.skip-link{position:absolute; left:-9999px; top:0; z-index:400; background:var(--roxo); color:#fff; padding:12px 18px; border-radius:0 0 10px 0; font:700 15px 'Inter',sans-serif; text-decoration:none;}
.skip-link:focus{left:0;}

/* barra a11y (padrão landing / Acesso na Tela) */
.a11y-bar{background:#14101E; color:#fff; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:6px 20px; font-size:13px; position:relative;}
.a11y-skip-links{display:flex; gap:12px;}
.a11y-skip-btn{color:#cdc6dd; text-decoration:none; font-size:12px; padding:7px 12px; border-radius:4px; white-space:nowrap; transition:background .15s,color .15s;}
.a11y-skip-btn:hover,.a11y-skip-btn:focus{background:var(--accent); color:var(--accent-ink);}
.a11y-controls{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.a11y-label{color:#b3aac6; font-size:12px; white-space:nowrap;}
.a11y-btn,.a11y-contrast-btn,.a11y-decl-link{background:transparent; border:1.5px solid #6f6685; color:#fff; padding:7px 12px; border-radius:4px; font-size:12px; cursor:pointer; transition:all .15s; font-family:inherit; white-space:nowrap; text-decoration:none; display:inline-flex; align-items:center; gap:6px;}
.a11y-btn{font-weight:700; font-size:13px;}
.a11y-btn:hover,.a11y-contrast-btn:hover,.a11y-decl-link:hover,.a11y-btn:focus-visible,.a11y-contrast-btn:focus-visible,.a11y-decl-link:focus-visible{border-color:var(--accent); color:var(--accent);}
.a11y-contrast-wrap{position:relative;}
.a11y-contrast-btn.has-mode{border-color:var(--accent); background:var(--accent); color:var(--accent-ink);}
.a11y-contrast-menu{position:absolute; top:calc(100% + 6px); left:0; background:#241C36; border:1px solid #443a5c; border-radius:8px; min-width:190px; z-index:300; overflow:hidden; box-shadow:0 8px 24px rgba(0,0,0,.5);}
.a11y-contrast-menu[hidden]{display:none;}
.a11y-contrast-menu button{display:flex; align-items:center; gap:9px; width:100%; background:transparent; border:none; color:#fff; padding:11px 16px; text-align:left; font-size:13px; cursor:pointer; font-family:inherit; transition:background .15s;}
.a11y-contrast-menu .cm-check{width:14px; flex:0 0 14px; color:var(--accent); font-weight:700; visibility:hidden;}
.a11y-contrast-menu button.cm-active{font-weight:700;} .a11y-contrast-menu button.cm-active .cm-check{visibility:visible;}
.a11y-contrast-menu-title{padding:9px 16px 5px; font-size:11px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; color:#b3aac6;}
.a11y-contrast-menu button:hover,.a11y-contrast-menu button:focus-visible{background:var(--roxo);}
.a11y-contrast-menu button:focus-visible{outline:2px solid #fff !important; outline-offset:-3px !important; box-shadow:none !important;}
body.contrast-high{filter:contrast(1.5) brightness(1.06);}
body.contrast-inverted{filter:invert(1) hue-rotate(180deg);}
body.contrast-grayscale{filter:grayscale(1);}
body.contrast-inverted img{filter:invert(1) hue-rotate(180deg);}
body.font-lg{--fscale:1.13;} body.font-xl{--fscale:1.25;}
body.font-lg p,body.font-lg li,body.font-lg a,body.font-lg .lead,body.font-lg button,body.font-lg input,body.font-lg textarea,
body.font-xl p,body.font-xl li,body.font-xl a,body.font-xl .lead,body.font-xl button,body.font-xl input,body.font-xl textarea{font-size:calc(1em*var(--fscale)) !important;}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important;}}

/* header */
.site-header{position:sticky; top:env(safe-area-inset-top,0px); z-index:200; background:rgba(255,255,255,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
.nav{display:flex; align-items:center; gap:22px; padding-block:14px;}
.nav .logo img{height:34px; width:auto;}
.nav ul{list-style:none; display:flex; gap:20px; margin:0; padding:0; margin-left:auto;}
.nav ul a{font-size:14.5px; font-weight:500; color:var(--ink); text-decoration:none; padding:6px 2px; border-bottom:2px solid transparent;}
.nav ul a:hover{border-bottom-color:var(--accent);}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:9px; font:700 15px 'Inter',sans-serif; text-decoration:none; border:none; cursor:pointer; padding:13px 22px; border-radius:11px; transition:transform .15s,box-shadow .15s,background .15s;}
.btn-primary{background:var(--accent); color:var(--accent-ink); box-shadow:var(--shadow-sm);}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 14px 30px -14px rgba(64,196,241,.7);}
.btn-purple{background:var(--roxo); color:#fff;} .btn-purple:hover{transform:translateY(-2px); background:var(--roxo-deep);}
.btn-outline{background:#fff; border:1.6px solid var(--line); color:var(--ink);} .btn-outline:hover{border-color:var(--roxo); color:var(--roxo);}
.nav .btn{margin-left:4px;}
.menu-toggle{display:none; margin-left:auto; background:none; border:1.6px solid var(--line); border-radius:9px; padding:9px 11px; cursor:pointer;}
.menu-toggle span{display:block; width:20px; height:2px; background:var(--ink); margin:4px 0;}

/* hero (vídeo do evento em destaque) */
.hero{position:relative; overflow:hidden; background:linear-gradient(180deg,#ffffff 0%, var(--lavanda) 100%);}
.hero::before{content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(720px 400px at 86% 16%, rgba(64,196,241,.20), transparent 62%), radial-gradient(560px 440px at 0% 96%, rgba(88,49,146,.12), transparent 60%);}
.hero-grid{position:relative; z-index:1; display:grid; grid-template-columns:1fr 1.02fr; gap:clamp(30px,4.5vw,64px); align-items:center; padding-block:clamp(52px,7vw,100px);}
.hero h1{color:var(--ink); font-size:clamp(33px,4.9vw,54px); letter-spacing:-.5px;}
.hero h1 .hl{color:var(--roxo); position:relative;}
.hero h1 .hl::after{content:""; position:absolute; left:0; right:0; bottom:.04em; height:.14em; background:linear-gradient(90deg,var(--accent),var(--aqua)); border-radius:3px; opacity:.55;}
.hero .lead{color:var(--body); margin-top:20px; max-width:52ch;}
.hero-cta{display:flex; gap:14px; flex-wrap:wrap; margin-top:28px;}
.hero-stores{margin-top:20px;}
.hero-trust{display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:22px;}
.hero-trust .chip{display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--line); padding:7px 13px; border-radius:999px; font-weight:600; color:var(--ink); font-size:12.5px; box-shadow:var(--shadow-sm);}
.hero-trust .chip svg{width:15px; height:15px; stroke:var(--roxo); fill:none; stroke-width:2;}
.hero-video{position:relative;}

/* lojas — mesmo padrão da landing (.store-btn) */
.app-links{display:flex; gap:12px; flex-wrap:wrap;}
.store-btn{display:inline-flex; align-items:center; gap:10px; border:1px solid rgba(255,255,255,.16); border-radius:12px; padding:8px 16px; min-height:52px; text-decoration:none; color:#fff; background:#14101E; transition:border-color .15s, background .15s, transform .15s;}
.store-btn:hover,.store-btn:focus-visible{border-color:var(--accent); background:#1b1530; transform:translateY(-2px);}
.store-btn svg{flex:none; color:#fff; fill:currentColor;}
.store-btn span{display:flex; flex-direction:column; line-height:1.12; font:800 15px 'Inter',sans-serif; color:#fff;}
.store-btn small{font-weight:600; font-size:10.5px; letter-spacing:.03em; opacity:.85;}

/* video facade */
.vfacade{position:relative; display:block; border-radius:18px; overflow:hidden; background:var(--roxo-ink); box-shadow:var(--shadow); aspect-ratio:16/10; text-decoration:none;}
.vfacade img{width:100%; height:100%; object-fit:cover; transition:transform .45s, filter .25s; filter:brightness(.86);}
.vfacade:hover img,.vfacade:focus-visible img{transform:scale(1.04); filter:brightness(1);}
.vplay{position:absolute; inset:0; display:grid; place-items:center; pointer-events:none;}
.vplay i{width:64px; height:64px; border-radius:50%; background:rgba(64,196,241,.94); display:grid; place-items:center; box-shadow:0 12px 34px -8px rgba(64,196,241,.85);}
.vplay svg{width:24px; height:24px; margin-left:3px; fill:#0E1516;}
.vlabel{position:absolute; left:0; right:0; bottom:0; padding:16px; font:800 15px 'Inter',sans-serif; color:#fff; background:linear-gradient(0deg,rgba(15,8,28,.9),transparent);}
.vlabel small{display:block; font-weight:500; font-size:12px; color:#cbb8ec; margin-top:2px;}

/* sections */
section{padding-block:var(--sec-pad);}
.sec-lavanda{background:var(--lavanda);} .sec-dark{background:var(--roxo-bg); color:#E9E3F6;}
.sec-dark h2,.sec-dark h3{color:#fff;}
.sec-head{max-width:64ch; margin-bottom:clamp(30px,4vw,52px);}
.sec-head h2{font-size:clamp(26px,3.4vw,40px); margin-top:12px;}
.sec-head p{margin-top:14px; font-size:16.5px; color:var(--body);} .sec-dark .sec-head p{color:#cfc6e6;}

/* cards */
.grid{display:grid; gap:20px;}
.g-5{grid-template-columns:repeat(5,1fr);} .g-4{grid-template-columns:repeat(4,1fr);} .g-3{grid-template-columns:repeat(3,1fr);}
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:26px 24px; box-shadow:var(--shadow-sm);}
.card h3{font-size:17px; margin-bottom:9px;} .card p{font-size:14.5px; color:var(--body);}
.sec-dark .card{background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.12);} .sec-dark .card p{color:#cfc6e6;}
/* logos oficiais de acessibilidade (símbolo branco + anel gradiente → disco escuro) */
.ic-badge{width:60px; height:60px; border-radius:50%; background:var(--roxo-ink); display:grid; place-items:center; margin-bottom:16px;}
.ic-badge img{width:48px; height:48px;}
.card .ic-line{width:46px; height:46px; border-radius:12px; background:var(--lavanda); display:grid; place-items:center; margin-bottom:16px; color:var(--roxo);}
.card .ic-line svg{width:24px; height:24px; stroke:currentColor; fill:none; stroke-width:1.9;}
.sec-dark .card .ic-line{background:rgba(64,196,241,.14); color:var(--accent);}
.feat-card{background:linear-gradient(160deg,#fff, #FBFAFE); border:1px solid var(--line); border-radius:20px; padding:30px 28px; box-shadow:var(--shadow-sm); position:relative; overflow:hidden;}
.feat-card::before{content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:linear-gradient(180deg,var(--accent),var(--roxo));}
.feat-card .ic-line{width:52px; height:52px;}
.feat-card h3{font-size:19px; margin-bottom:10px;}
.feat-card p{font-size:15px; color:var(--body);}

/* como funciona */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; counter-reset:s;}
.step{position:relative; padding:26px 24px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-sm);}
.step .n{counter-increment:s; font-family:'Cocogoose'; font-size:15px; color:#fff; background:var(--roxo); width:38px; height:38px; border-radius:50%; display:grid; place-items:center; margin-bottom:16px;}
.step .n::before{content:counter(s);}
.step h3{font-size:17px; margin-bottom:8px;} .step p{font-size:14.5px;}
.cf-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(26px,4vw,48px); align-items:center;}
.note{margin-top:22px; font-size:13.5px; color:var(--muted); display:flex; gap:9px; align-items:flex-start;}
.note svg{width:18px; height:18px; stroke:var(--roxo); fill:none; stroke-width:1.8; flex:0 0 18px; margin-top:2px;}

/* vídeos */
.vgrid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.vgrid .vfacade{aspect-ratio:16/11;}

/* ETC strip (fundo roxo full-bleed, sem borda arredondada) */
.etc-band{background:linear-gradient(120deg,var(--roxo) 0%, var(--roxo-deep) 100%); color:#fff; position:relative; overflow:hidden;}
.etc-band::after{content:""; position:absolute; right:0; bottom:-90px; width:340px; height:340px; background:radial-gradient(circle,rgba(64,196,241,.26),transparent 70%); pointer-events:none;}
.etc-inner{position:relative; z-index:1; display:flex; gap:40px; align-items:center; justify-content:space-between; flex-wrap:wrap;}
.etc-inner .in{max-width:62ch;}
.etc-band h2{color:#fff; font-size:clamp(23px,2.8vw,33px);}
.etc-band p{color:#E9E3F6; margin-top:12px; font-size:16px;}
.etc-logo{width:min(230px,44vw); height:auto; flex:0 0 auto;}
/* diferenciais em destaque (2 blocos ilustrados) */
.feat2{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.feat-illus{background:#fff; border:1px solid var(--line); border-radius:20px; overflow:hidden; box-shadow:var(--shadow-sm); display:flex; flex-direction:column;}
.feat-illus .illus{aspect-ratio:16/9; background:var(--roxo-ink); overflow:hidden;}
.feat-illus .illus img{width:100%; height:100%; object-fit:cover;}
.feat-illus .illus-logo{display:grid; place-items:center; background:#fff; padding:24px;}
.feat-illus .illus-logo img{width:auto; height:auto; max-height:110px; max-width:78%;}
.feat-illus .fbody{padding:26px 26px 28px; display:flex; flex-direction:column; gap:12px; flex:1;}
.feat-illus h3{font-size:20px; line-height:1.2;}
.feat-illus p{font-size:15px; color:var(--body);}
.feat-illus .flink{margin-top:auto; font:700 15px 'Inter',sans-serif; color:var(--roxo); text-decoration:none; display:inline-flex; align-items:center; gap:4px;}
.feat-illus .flink:hover{color:var(--roxo-deep);}
.tag-dev{font:700 10.5px 'Inter',sans-serif; color:var(--roxo); background:var(--lavanda); padding:3px 8px; border-radius:999px; vertical-align:middle; white-space:nowrap;}

/* catálogo */
.cat-head{display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; margin-bottom:clamp(26px,3.5vw,40px);}
.films-row{display:grid; grid-template-columns:repeat(auto-fill,minmax(116px,1fr)); gap:16px;}
.film{min-width:0;}
.film .poster{position:relative; aspect-ratio:2/3; border-radius:12px; overflow:hidden; background:linear-gradient(160deg,var(--roxo-deep),var(--roxo-bg)); box-shadow:0 14px 30px -22px rgba(0,0,0,.9); display:flex; align-items:flex-end; padding:12px;}
.film .poster .rt{position:absolute; top:8px; left:8px; background:#fff; color:var(--roxo); font:800 10.5px 'Inter'; padding:2px 6px; border-radius:5px;}
.film .poster .ttl{font-family:'Cocogoose'; color:#fff; font-size:13.5px; line-height:1.15; text-shadow:0 1px 6px rgba(0,0,0,.5);}
.film .cap{margin-top:8px;}
.film .cap .d{font-size:11.5px; color:var(--muted); line-height:1.3; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;}
.film .cap .dur{font-size:11.5px; color:var(--roxo); font-weight:700;}

/* CTA band */
.ctaband{background:linear-gradient(135deg,var(--roxo) 0%, var(--roxo-deep) 100%); color:#fff; border-radius:24px; padding:clamp(34px,5vw,58px); position:relative; overflow:hidden;}
.ctaband::after{content:""; position:absolute; right:-60px; top:-60px; width:280px; height:280px; background:radial-gradient(circle,rgba(64,196,241,.35),transparent 70%);}
.ctaband .in{position:relative; z-index:1; display:flex; gap:30px; align-items:center; justify-content:space-between; flex-wrap:wrap;}
.ctaband h2{color:#fff; font-size:clamp(24px,3vw,34px); max-width:22ch;}
.ctaband p{color:#E9E3F6; margin-top:10px; max-width:46ch;}
.b2c-note{margin-top:18px; font-size:14px; color:#E9E3F6;} .b2c-note a{color:var(--accent); font-weight:700;}

/* FAQ */
.faq-cat{margin-top:clamp(26px,4vw,42px);}
.faq-cat > h3{font-size:15px; color:var(--roxo); text-transform:uppercase; letter-spacing:1px; font-family:'Inter',sans-serif; font-weight:700; margin-bottom:12px;}
.faq{display:grid; gap:10px; max-width:860px;}
.qa{border:1px solid var(--line); border-radius:12px; background:#fff; overflow:hidden;}
.qa button{width:100%; text-align:left; background:none; border:none; padding:17px 20px; font:700 15.5px 'Inter',sans-serif; color:var(--ink); cursor:pointer; display:flex; justify-content:space-between; gap:16px; align-items:center;}
.qa button .cr{transition:transform .2s; color:var(--roxo); flex:0 0 auto; font-size:20px;}
.qa button[aria-expanded="true"] .cr{transform:rotate(45deg);}
.qa .ans{padding:0 20px; max-height:0; overflow:hidden; transition:max-height .3s ease;}
.qa .ans .inner{padding-bottom:18px;} .qa .ans p{font-size:14.5px; color:var(--body);} .qa .ans p+p{margin-top:10px;}
.qa button[aria-expanded="true"]+.ans{max-height:640px;}

/* contato */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,56px); align-items:start;}
form.contact{display:grid; gap:14px;}
label{font-size:13.5px; font-weight:600; color:var(--ink);}
input,textarea{width:100%; font:15px 'Inter',sans-serif; color:var(--ink); background:#fff; border:1.6px solid var(--line); border-radius:11px; padding:13px 15px;}
input:focus,textarea:focus{border-color:var(--roxo);} textarea{min-height:130px; resize:vertical;}
.form-msg{font-size:14px; padding:12px 15px; border-radius:10px; background:var(--lavanda); color:var(--roxo); font-weight:600;}
.contact-aside ul{padding:0; margin:18px 0 0;}
.contact-aside li{margin-bottom:14px; list-style:none; display:flex; gap:12px; align-items:flex-start;}
.contact-aside .ic{width:40px; height:40px; flex:0 0 40px; border-radius:11px; background:var(--lavanda); display:grid; place-items:center;}
.contact-aside .ic svg{width:20px; height:20px; stroke:var(--roxo); fill:none; stroke-width:1.8;}
.contact-aside b{color:var(--ink); font-family:'Cocogoose'; font-weight:400; font-size:15px;} .contact-aside span{font-size:14px; color:var(--body);}

/* footer */
.site-footer{background:#14101E; color:#cfc6e6; padding-block:48px 30px;}
.foot-top{display:flex; justify-content:space-between; gap:30px; flex-wrap:wrap; align-items:flex-start;}
.site-footer img.flogo{height:32px;}
.site-footer .soc{display:flex; gap:12px;}
.site-footer .soc a{width:40px; height:40px; border-radius:10px; border:1px solid rgba(255,255,255,.16); display:grid; place-items:center;}
.site-footer .soc svg{width:18px; height:18px; fill:#cfc6e6;}
.foot-bottom{margin-top:30px; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; font-size:13px; color:#8f87a3;}
.proto-flag{background:var(--accent); color:var(--accent-ink); font:700 12px 'Inter'; padding:5px 12px; border-radius:999px; display:inline-block;}

/* responsivo */
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr; gap:36px;} .hero-video{order:-1;}
  .g-5,.g-4{grid-template-columns:repeat(2,1fr);} .g-3{grid-template-columns:1fr;}
  .vgrid{grid-template-columns:repeat(2,1fr);} .cf-grid{grid-template-columns:1fr;} .feat2{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;} .etc-inner{justify-content:flex-start;}
}
@media (max-width:760px){
  .nav ul,.nav>.btn{display:none;} .menu-toggle{display:block;}
  .nav ul.open{display:flex; position:absolute; left:0; right:0; top:100%; flex-direction:column; background:#fff; border-bottom:1px solid var(--line); padding:14px 26px; gap:6px; margin-left:0;}
  .steps{grid-template-columns:1fr;}
  .films-row{grid-auto-flow:column; grid-template-columns:none; grid-auto-columns:118px; overflow-x:auto; scroll-snap-type:x proximity; padding-bottom:10px;}
  .films-row .film{scroll-snap-align:start;}
}
@media (max-width:520px){.g-5,.g-4,.vgrid{grid-template-columns:1fr;} .a11y-label{display:none;}}


/* ===== catálogo real (grade + página + detalhe) ===== */
.film .poster .pimg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
.film .poster::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(15,8,28,.82), transparent 58%); z-index:1;}
.film .poster .rt{z-index:2;} .film .poster .ttl{position:relative; z-index:2;}
.film a.filmlink{text-decoration:none; color:inherit; display:block;}
.film a.filmlink .poster{transition:transform .2s, box-shadow .2s;}
.film a.filmlink:hover .poster,.film a.filmlink:focus-visible .poster{transform:translateY(-3px); box-shadow:0 22px 40px -22px rgba(0,0,0,.9);}
.cat-toolbar{display:flex; gap:16px; flex-wrap:wrap; align-items:center; margin-bottom:26px;}
.cat-search{flex:1; min-width:230px; position:relative;}
.cat-search input{width:100%; padding:13px 15px 13px 42px; border:1.6px solid var(--line); border-radius:12px; font:15px 'Inter',sans-serif; color:var(--ink);}
.cat-search input:focus{border-color:var(--roxo);}
.cat-search svg{position:absolute; left:14px; top:50%; transform:translateY(-50%); width:18px; height:18px; stroke:var(--muted); fill:none; stroke-width:2;}
.chips{display:flex; gap:8px; flex-wrap:wrap;}
.chip-cat{border:1.5px solid var(--line); background:#fff; color:var(--ink); border-radius:999px; padding:8px 14px; font:600 13px 'Inter',sans-serif; cursor:pointer; transition:.15s;}
.chip-cat:hover{border-color:var(--roxo);}
.chip-cat.active{background:var(--roxo); border-color:var(--roxo); color:#fff;}
.cat-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:22px;}
.cat-grid .film .cap .t{font:700 14px 'Inter',sans-serif; color:var(--ink); line-height:1.2; margin-bottom:2px;}
.cat-status{text-align:center; padding:48px 20px; color:var(--muted); font-size:15px; grid-column:1/-1;}
.pager{display:flex; gap:8px; justify-content:center; align-items:center; margin-top:36px; flex-wrap:wrap;}
.pager button{border:1.5px solid var(--line); background:#fff; color:var(--ink); border-radius:10px; padding:9px 14px; font:600 14px 'Inter',sans-serif; cursor:pointer;}
.pager button[disabled]{opacity:.4; cursor:default;}
.pager .cur{color:var(--muted); font-size:14px; padding:0 8px;}
.detail{display:grid; grid-template-columns:300px 1fr; gap:clamp(24px,4vw,48px); align-items:start;}
.detail .poster-lg{border-radius:16px; overflow:hidden; box-shadow:var(--shadow); background:var(--roxo-ink); aspect-ratio:2/3;}
.detail .poster-lg img{width:100%; height:100%; object-fit:cover;}
.detail h1{font-size:clamp(28px,4vw,42px);}
.detail .meta{display:flex; gap:10px; flex-wrap:wrap; margin:14px 0 18px; align-items:center; color:var(--muted); font-size:14px; font-weight:600;}
.detail .meta .rtb{background:var(--roxo); color:#fff; padding:2px 9px; border-radius:6px; font-weight:800;}
.detail .cats{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px;}
.detail .cats span{background:var(--lavanda); color:var(--roxo); border-radius:999px; padding:5px 12px; font:700 12px 'Inter',sans-serif;}
.detail .sinopse{font-size:16px; color:var(--body); max-width:66ch; line-height:1.7;}
.detail .a11y-flags{display:flex; gap:10px; flex-wrap:wrap; margin:20px 0;}
.detail .a11y-flags .fl{display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--line); border-radius:10px; padding:8px 12px; font:700 13px 'Inter',sans-serif; color:var(--ink);}
.detail .a11y-flags img{width:24px; height:24px;}
.detail-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:24px;}
.trailer{margin-top:34px; max-width:840px;}
.trailer h2{font-size:22px; margin-bottom:14px;}
.trailer .fr{position:relative; aspect-ratio:16/9; border-radius:16px; overflow:hidden; background:#000; box-shadow:var(--shadow);}
.trailer iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
.back-link{display:inline-flex; align-items:center; gap:6px; color:var(--roxo); font-weight:700; text-decoration:none; margin-bottom:22px;}
.page-head{padding-block:clamp(30px,5vw,56px) 0;}
@media (max-width:640px){.detail{grid-template-columns:1fr;} .detail .poster-lg{max-width:220px;}}
/* ==== refinamentos (feedback telas 1-9 + B2C) ==== */
.hero-grid{padding-block:clamp(36px,4.5vw,64px);}
.feat2{grid-template-columns:repeat(auto-fit,minmax(272px,1fr));}
.feat-illus .illus-icon{display:grid; place-items:center; background:linear-gradient(155deg,var(--roxo),var(--roxo-bg));}
.feat-illus .illus-icon svg{width:80px; height:80px; stroke:#fff; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round;}
.nav a.b2c{color:var(--roxo) !important; font-weight:700; border:1.5px solid var(--line); border-radius:999px; padding:7px 14px !important;}
.nav a.b2c:hover{border-color:var(--roxo); background:var(--lavanda); border-bottom-color:var(--roxo) !important;}
.site-footer img.flogo{filter:brightness(0) invert(1);}
.site-footer .app-links{display:flex; gap:12px; flex-wrap:wrap;}
.site-footer .store-btn{background:#211a38; border-color:rgba(255,255,255,.14);}
.home-catalog{display:grid; gap:18px; grid-template-columns:repeat(7,1fr);}
.home-catalog .film:nth-child(n+15){display:none;}
.cat-more{display:flex; justify-content:center; margin-top:34px;}
.cat-more .btn{font-size:16px; padding:15px 32px;}
@media (max-width:1100px){.home-catalog{grid-template-columns:repeat(5,1fr);} .home-catalog .film:nth-child(n+11){display:none;}}
@media (max-width:760px){.home-catalog{grid-template-columns:repeat(3,1fr);} .home-catalog .film:nth-child(n+7){display:none;}}
@media (max-width:520px){.home-catalog{grid-template-columns:repeat(2,1fr);} .home-catalog .film:nth-child(n+5){display:none;}}
/* ==== refinamentos v3 ==== */
.hero-grid{padding-block:clamp(24px,3.5vw,50px);}
.feat-illus .illus img{object-position:center top;}
.vgrid{grid-template-columns:repeat(3,1fr);}
@media (max-width:680px){.vgrid{grid-template-columns:1fr;}}
.film .poster::after{display:none;}
.film .poster .ttl{display:none;}
.film .poster .date{position:absolute; bottom:8px; left:8px; z-index:2; background:var(--accent); color:var(--accent-ink); font:800 11px 'Inter',sans-serif; padding:3px 8px; border-radius:6px; box-shadow:0 2px 8px rgba(0,0,0,.35);}
.film .cap{margin-top:9px;}
.film .cap .t{font:700 13.5px 'Inter',sans-serif; color:var(--ink); line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
/* ==== refinamentos v4 ==== */
.hero{padding-block:0;}
.hero-grid{padding-block:clamp(20px,3vw,46px); align-items:center;}
.hero-video{max-width:500px; justify-self:end; width:100%;}
.hero .lead{margin-top:16px;}
.hero-cta{margin-top:22px;}
.etc-band{background:linear-gradient(120deg,#5a33a0 0%, #402577 55%, #2a1850 100%);}
.etc-band::after{display:none;}
.nav > a.b2c{margin-left:8px;}
@media (max-width:760px){ .nav > a.b2c{display:none;} }
/* ==== refinamentos v5 ==== */
.hero h1 .hl{ color:var(--roxo); background-image:linear-gradient(90deg,var(--accent),var(--aqua)); background-repeat:no-repeat; background-position:0 92%; background-size:100% .12em; -webkit-box-decoration-break:clone; box-decoration-break:clone; }
.hero h1 .hl::after{ display:none; }
.feat-illus .illus-video{ background:#000; }
.feat-illus .illus-video iframe{ width:100%; height:100%; border:0; display:block; }
/* ==== na imprensa (reaproveitado da landing) ==== */
.midia-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:20px;}
.midia-card{display:flex; flex-direction:column; text-decoration:none; background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-sm); transition:transform .2s, box-shadow .2s;}
.midia-card:hover{transform:translateY(-3px); box-shadow:var(--shadow);}
.midia-thumb{aspect-ratio:16/7; display:flex; align-items:center; justify-content:center; padding:18px;}
.midia-thumb.exib{background:#1A1A1A;}
.midia-thumb.exib img{height:34px; width:auto;}
.midia-thumb.inf{background:linear-gradient(135deg,var(--roxo),var(--accent)); color:#fff;}
.midia-body{padding:16px 16px 18px;}
.midia-src{font:800 11.5px 'Inter',sans-serif; text-transform:uppercase; letter-spacing:.09em; color:var(--roxo); display:inline-flex; align-items:center; gap:6px;}
.midia-body h3{font:700 15.5px 'Inter',sans-serif; color:var(--ink); margin:7px 0 0; line-height:1.4;}
/* ==== catálogo: 6 por linha (4 linhas = 24/página) + ícones a11y visíveis no detalhe ==== */
.cat-grid{grid-template-columns:repeat(6,1fr);}
@media (max-width:1100px){.cat-grid{grid-template-columns:repeat(4,1fr);}}
@media (max-width:760px){.cat-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:520px){.cat-grid{grid-template-columns:repeat(2,1fr);}}
.detail .a11y-flags .fl img{width:32px; height:32px; background:var(--roxo-ink); border-radius:50%;}
/* ==== thumbnails 16/9 (não cortar) ==== */
.vfacade, .vfacade.big, .vgrid .vfacade{ aspect-ratio:16/9; }
/* ==== bloco de contato: fundo um pouco mais escuro ==== */
#contato{ background:#E6DCF4; }

/* ==== seletor de idioma na barra de acessibilidade ==== */
.a11y-lang{ font-weight:700; }

/* ==== CTA + link B2C dentro do menu mobile (correção de responsividade) ==== */
/* Duplicados só para o dropdown mobile; escondidos no desktop (lá aparecem no header). */
.menu-cta{ display:none; }
@media (max-width:760px){
  .nav ul.open .menu-cta{ display:block; margin-top:6px; }
  .nav ul.open .menu-cta.cta-first{ margin-top:12px; padding-top:12px; border-top:1px solid var(--line); }
  .nav ul.open .menu-cta a{ display:flex; width:100%; justify-content:center; border-bottom:none !important; padding:13px 20px; font-weight:700; font-size:15px; }
  .nav ul.open .menu-cta a.b2c{ margin-left:0; }
}