/* RN LAB — folha da landing /lab (card PULSE c10375535401, Out/2026).
   Desenho do HTML rn-lab.html anexado ao card; daqui saiu o header e o footer réplica
   (a página usa os do site, via MainLayout) e o lightbox do vídeo (o vídeo, que chegou no
   ticket 454, toca no próprio hero). Tudo prefixado com .rnlab: a página vive dentro do site e o CSS dela não
   pode tocar no menu, no footer nem no resto. As regras de documento do original
   (html/body) passaram para o wrapper; o scroll suave para as âncoras é do lab.js. */

.rnlab{
  --white:#FFFFFF;
  --black:#000000; --ink-3:#000000; --big:#000000;
  --grey-50:#F6F6F4; --grey-100:#ECECE9; --grey-200:#DCDCD8; --grey-300:#BDBDB7; --grey-500:#7A7A76; --grey-700:#3A3A38;
  --red:#EE3442; --red-dark:#D42A37;
  --font:"Sofia Sans Condensed", "Arial Narrow", system-ui, sans-serif;
  --font-x:"Sofia Sans Extra Condensed", "Sofia Sans Condensed", "Arial Narrow", system-ui, sans-serif;
  --gutter:clamp(20px, 5vw, 72px);
  --maxw:1440px;
  --ease:cubic-bezier(.2,.7,.2,1);

  background:var(--white);color:var(--black);font-family:var(--font);font-size:18px;line-height:1.45;font-weight:400;
  overflow-x:clip;-webkit-text-size-adjust:100%;color-scheme:light;
}
.rnlab *,.rnlab *::before,.rnlab *::after{box-sizing:border-box}
.rnlab img{max-width:100%;display:block}
.rnlab a{color:inherit}
.rnlab h1,.rnlab h2,.rnlab h3,.rnlab p{margin:0}
/* O desenho foi feito com a margem por omissão do browser nos blockquote (1em 40px); o
   preflight do Tailwind do site tira-a, e sem ela a citação cola-se ao texto e ao botão. */
.rnlab blockquote{margin:1em 40px}
.rnlab button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.rnlab :focus-visible{outline:3px solid var(--red);outline-offset:3px}
.rnlab .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ===== A invertido (assinatura) ===== */
.rnlab .inv{display:inline-block;transform:translateY(-0.055em) scaleY(-1);transform-origin:50% 50%;line-height:1}

/* ===== LAYOUT ===== */
.rnlab .wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}
.rnlab .grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:32px}
.rnlab .grid>*{grid-column:1 / -1;min-width:0}
.rnlab .eyebrow{font-size:13px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--black)}
.rnlab .eyebrow .inv{margin-inline:1px}
.rnlab .eyebrow--muted{color:var(--grey-500)}
.rnlab .display{font-family:var(--font-x);font-weight:800;color:var(--big);text-transform:uppercase;line-height:.92;letter-spacing:-.005em;text-wrap:balance;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
.rnlab .display--l{font-size:clamp(40px, 7vw, 112px)}
.rnlab .display--m{font-size:clamp(36px, 5.2vw, 80px)}
.rnlab .body{font-size:clamp(18px, 1.35vw, 21px);line-height:1.5;max-width:52ch;font-weight:400;color:var(--black)}
.rnlab .body strong{font-weight:700;color:var(--black)}
.rnlab .section{padding-block:clamp(88px, 11vw, 168px)}
.rnlab .rule{height:1px;background:var(--grey-200);border:0;margin:0}

/* botões */
.rnlab .btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:15px;line-height:1.45;text-decoration:none;padding:18px 28px;border:2px solid var(--black);color:var(--black);background:transparent;transition:background .18s var(--ease),color .18s var(--ease),transform .18s var(--ease);white-space:nowrap}
.rnlab .btn:hover{background:var(--black);color:#fff}
.rnlab .btn--primary{background:var(--black);color:#fff}
.rnlab .btn--primary:hover{background:var(--red);border-color:var(--red);color:#fff}
.rnlab .btn--red{background:var(--red);border-color:var(--red);color:#fff}
.rnlab .btn--red:hover{background:#fff;border-color:#fff;color:var(--black)}
.rnlab .btn[aria-disabled="true"]{opacity:.6;cursor:wait}
@media (max-width:767px){.rnlab .btn{width:100%;padding:16px 20px;white-space:normal;text-align:center}}

/* ===== HERO ===== */
.rnlab .hero{background:var(--white);position:relative;isolation:isolate}
.rnlab .hero__in{min-height:auto;display:grid;grid-template-columns:1fr;gap:28px;padding-block:40px 64px}
.rnlab .hero__copy{display:flex;flex-direction:column;gap:22px;order:2}
.rnlab .hero__title{color:var(--big);font-family:var(--font-x);font-weight:700;font-size:clamp(46px, 7.6vw, 108px);line-height:.94;letter-spacing:-.005em;text-transform:none;text-wrap:balance}
.rnlab .hero__title em{font-style:normal;font-weight:900}
.rnlab .hero__ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px;order:3}
.rnlab .hero__media{order:1;position:relative}
/* O vídeo (ticket 454) é 16:9 em todas as larguras: com legendas gravadas na imagem e um plano
   final com o LAB inteiro, qualquer corte come texto ou letras. Em ecrã largo a moldura encolhe
   na largura (centrada) para caber na altura que o desenho reserva acima do título — assim os
   botões ficam no canto do vídeo e não numa faixa branca ao lado dele. */
.rnlab .hero__frame{position:relative;display:block;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--grey-100);margin:0}
.rnlab .hero__video{display:block;width:100%;height:100%;object-fit:cover;transition:opacity .5s var(--ease)}
/* Ao recomeçar com som o vídeo some de uma vez e volta em fade a partir do fundo da moldura. */
.rnlab .hero__video.is-restarting{opacity:0;transition:none}
/* «Ouvir» — no canto de baixo à esquerda, na linha dos botões pequenos e da mesma altura. No
   centro tapava a cara do Rodolfo nos planos aproximados; mais abaixo no meio estão as legendas. */
.rnlab .hero__listen{position:absolute;left:8px;bottom:8px;display:flex;align-items:center;gap:8px;height:36px;background:var(--black);color:#fff;padding:0 14px 0 10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:12px;white-space:nowrap;transition:background .18s}
.rnlab .hero__listen[hidden]{display:none}
.rnlab .hero__listen:hover{background:var(--red)}
.rnlab .hero__listen svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.rnlab .hero__listen svg .fill{fill:currentColor;stroke:none}
.rnlab .hero__caption{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--grey-500);padding:10px 0 0}
/* No telemóvel o vídeo tem ~190px de altura: botões de 36px (acima dos 24px da WCAG 2.5.8) para
   não taparem as legendas nem o título do plano final; 44px a partir do tablet. */
.rnlab .hero__controls{position:absolute;right:8px;bottom:8px;display:flex;gap:6px}
.rnlab .hero__controls[hidden]{display:none}
.rnlab .hero__ctl{display:grid;place-items:center;width:36px;height:36px;background:var(--black);color:#fff;transition:background .18s}
.rnlab .hero__ctl:hover{background:var(--red)}
/* O anel vermelho da página fica abaixo de 3:1 sobre o cinzento do vídeo: preto com orla branca
   lê-se em qualquer frame. */
.rnlab .hero__ctl:focus-visible,.rnlab .hero__listen:focus-visible{outline-color:var(--black);box-shadow:0 0 0 3px #fff}
.rnlab .hero__ctl svg{width:18px;height:18px;fill:currentColor}
@media (min-width:768px){
  .rnlab .hero__listen{left:12px;bottom:12px;height:44px;gap:10px;padding:0 18px 0 13px;font-size:13px}
  .rnlab .hero__listen svg{width:22px;height:22px}
  .rnlab .hero__controls{right:12px;bottom:12px;gap:8px}
  .rnlab .hero__ctl{width:44px;height:44px}
  .rnlab .hero__ctl svg{width:22px;height:22px}
}
.rnlab .hero__ctl .stroke{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.rnlab .hero__ctl[data-state="paused"] .i-pause,
.rnlab .hero__ctl[data-state="playing"] .i-play,
.rnlab .hero__ctl[data-state="muted"] .i-sound,
.rnlab .hero__ctl[data-state="on"] .i-muted{display:none}
@media (min-width:1200px){
  .rnlab .hero__in{min-height:calc(88vh);grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end;padding-block:24px 64px}
  /* Mínimo de 480px: numa janela larga e baixa o vídeo não vira uma miniatura com dois botões. */
  .rnlab .hero__media{order:1;grid-column:1 / span 12;grid-row:1;--hero-w:min(100%, max(480px, calc((88vh - 250px) * 16 / 9)))}
  .rnlab .hero__frame,.rnlab .hero__caption{width:var(--hero-w);margin-inline:auto}
  .rnlab .hero__copy{order:2;grid-column:1 / span 7;grid-row:2;padding-top:8px}
  .rnlab .hero__ctas{grid-column:8 / span 5;grid-row:2;align-self:end;justify-content:flex-end;margin:0;padding-bottom:6px}
  .rnlab .hero__title{font-size:clamp(56px, 5.4vw, 86px)}
}

/* ===== CTA FIXO ===== */
/* Escondido também para o teclado: sem visibility, o link invisível ficava no Tab order a seguir
   ao formulário. O atraso no visibility deixa a transição de saída acabar. */
.rnlab .lab-sticky{position:fixed;z-index:40;left:0;right:0;bottom:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--grey-200);transform:translateY(110%);visibility:hidden;transition:transform .35s var(--ease),visibility 0s .35s}
.rnlab .lab-sticky.show{transform:none;visibility:visible;transition-delay:0s}
.rnlab .lab-sticky .btn{width:100%;padding:16px 18px;font-size:14px}
@media (min-width:768px){
  .rnlab .lab-sticky{left:auto;right:24px;bottom:24px;padding:0;background:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;transform:translateY(24px);opacity:0;pointer-events:none;transition:transform .35s var(--ease),opacity .35s,visibility 0s .35s}
  .rnlab .lab-sticky.show{transform:none;opacity:1;pointer-events:auto}
  .rnlab .lab-sticky .btn{width:auto;padding:18px 26px;box-shadow:0 14px 40px rgba(0,0,0,.18)}
}

/* ===== LAB / 001 ===== */
.rnlab .s001 .grid{align-items:start}
.rnlab .s001__id{grid-column:1 / -1;display:flex;flex-direction:column;gap:18px}
.rnlab .s001__mark{color:var(--big);font-family:var(--font-x);font-weight:900;font-size:clamp(96px, 14vw, 220px);line-height:.85;letter-spacing:-.02em}
.rnlab .s001__body{grid-column:1 / -1;display:flex;flex-direction:column;gap:28px}
.rnlab .s001__hl{font-size:clamp(24px, 2.6vw, 40px);font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:var(--black)}
.rnlab .s001__lines{display:flex;flex-direction:column;gap:6px}
.rnlab .s001__lines p{font-size:clamp(20px,1.7vw,26px);font-weight:300;line-height:1.3;color:var(--black)}
.rnlab .s001__lines p strong{font-weight:700;color:var(--black)}
.rnlab .pull{border-left:4px solid var(--red);padding:6px 0 6px 22px;font-size:clamp(22px, 2.2vw, 34px);font-weight:600;color:var(--ink-3);line-height:1.2;text-wrap:balance;max-width:26ch}
@media (min-width:1200px){
  .rnlab .s001__id{grid-column:1 / span 4;position:sticky;top:32px}
  .rnlab .s001__body{grid-column:6 / span 7}
}

/* ===== ANTES DA CASA ===== */
.rnlab .antes{background:var(--grey-50)}
.rnlab .antes .display{max-width:12ch;margin-top:18px}
.rnlab .questions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--grey-200)}
.rnlab .questions li{border-bottom:1px solid var(--grey-200);padding:18px 0;font-size:clamp(24px, 3.4vw, 54px);font-weight:300;line-height:1.05;display:flex;gap:18px;align-items:baseline}
.rnlab .questions li .q{font-family:var(--font-x);font-weight:800;color:var(--grey-500);font-size:.5em;letter-spacing:.06em;flex:none;width:2.4em}
.rnlab .questions li strong{font-weight:700;color:var(--black)}
.rnlab .antes__close{display:flex;flex-direction:column;gap:28px}
@media (min-width:1200px){
  .rnlab .antes__head{grid-column:1 / span 12}
  .rnlab .antes__list{grid-column:1 / span 7}
  .rnlab .antes__close{grid-column:9 / span 4;align-self:end}
}

/* ===== PREÇO ===== */
.rnlab .preco__head{display:flex;flex-direction:column;gap:18px}
.rnlab .preco__sub{font-size:clamp(22px,2.2vw,32px);font-weight:300;color:var(--black)}
.rnlab .preco__sub strong{font-weight:700;color:var(--black)}
.rnlab .radial{position:relative;width:min(100%, 620px);aspect-ratio:1;margin:0 auto;display:none}
.rnlab .radial__ring{position:absolute;inset:0;border-radius:50%;border:1px solid var(--grey-200)}
.rnlab .radial__ring--2{inset:18%;border-style:dashed}
.rnlab .radial__center{position:absolute;inset:34%;z-index:1;border-radius:50%;background:var(--ink-3);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px}
.rnlab .radial__center b{font-family:var(--font-x);font-weight:900;font-size:clamp(28px,3vw,42px);line-height:.95;text-transform:uppercase}
.rnlab .radial__center span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#bdbdbd}
.rnlab .radial__item{position:absolute;transform:translate(-50%,-50%);z-index:2}
.rnlab .radial__item .tag{display:inline-block;background:#fff;border:1.5px solid var(--black);padding:10px 14px;font-weight:700;letter-spacing:.14em;font-size:13px;text-transform:uppercase;white-space:nowrap;transition:background .2s,color .2s}
.rnlab .radial__item .tag::before{content:"";display:inline-block;width:8px;height:8px;background:var(--red);margin-right:10px;vertical-align:1px}
.rnlab .radial__item:hover .tag{background:var(--black);color:#fff}
.rnlab .radial__line{position:absolute;left:50%;top:50%;width:1px;height:48%;background:var(--grey-200);transform-origin:50% 0;transform:translateX(-50%) rotate(calc(var(--a) + 180deg));z-index:0}
.rnlab .factors{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.rnlab .factors li{border:1.5px solid var(--black);padding:16px 14px;font-weight:700;letter-spacing:.14em;font-size:13px;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.rnlab .factors li::before{content:"";width:8px;height:8px;background:var(--red);flex:none}
.rnlab .preco__text{display:flex;flex-direction:column;gap:28px}
@media (min-width:1200px){
  .rnlab .preco__head{grid-column:1 / span 12}
  .rnlab .preco__viz{grid-column:1 / span 7}
  .rnlab .radial{display:block}
  .rnlab .factors{display:none}
  .rnlab .preco__text{grid-column:9 / span 4;align-self:center}
}

/* ===== TRANSPARÊNCIA ===== */
.rnlab .transp{background:var(--black);color:#fff}
.rnlab .transp__head{display:flex;flex-direction:column;gap:18px;max-width:1100px}
.rnlab .transp .eyebrow{color:#bdbdbd}
.rnlab .transp .display{color:#fff}
.rnlab .transp__sub{font-size:clamp(20px,2vw,30px);font-weight:300;color:#d6d6d6;max-width:30ch}
.rnlab .ticker{overflow:hidden;border-top:1px solid #2a2a2a;border-bottom:1px solid #2a2a2a;padding:26px 0;margin-block:clamp(48px,6vw,88px);display:none}
.rnlab .ticker__track{display:flex;gap:0;width:max-content;animation:rnlab-tick 42s linear infinite}
.rnlab .ticker__track:hover{animation-play-state:paused}
.rnlab .ticker__item{color:#fff;display:inline-flex;align-items:center;gap:28px;padding-right:28px;font-family:var(--font-x);font-weight:800;font-size:clamp(44px,5vw,84px);line-height:1;text-transform:uppercase;white-space:nowrap}
.rnlab .ticker__item .arrow{color:var(--red);font-family:var(--font);font-weight:300}
@keyframes rnlab-tick{to{transform:translateX(-50%)}}
.rnlab .stack{list-style:none;margin:48px 0;padding:0;display:flex;flex-direction:column;gap:8px}
.rnlab .stack li{border:1px solid #333;color:#fff;padding:18px 18px;font-family:var(--font-x);font-weight:800;font-size:clamp(30px,6vw,40px);line-height:1;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between}
.rnlab .stack li::after{content:"↓";content:"↓" / "";color:var(--red);font-family:var(--font);font-weight:300;font-size:.7em}
.rnlab .stack li:last-child::after{content:""}
.rnlab .transp__foot{display:flex;flex-direction:column;gap:28px;align-items:flex-start}
.rnlab .transp__foot h3{font-size:clamp(26px,2.6vw,40px);font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:#fff}
/* Em ecrã largo vê-se o ticker (aria-hidden) e a lista sai do ecrã — mas fica para os leitores de
   ecrã, senão a secção perdia os seis passos. */
@media (min-width:768px){
  .rnlab .ticker{display:block}
  .rnlab .stack{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}

/* ===== JORNADA ===== */
.rnlab .jornada .display--l{margin-top:18px}
.rnlab .timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;position:relative}
.rnlab .timeline li{color:var(--ink-3);position:relative;padding:14px 0 14px 34px;font-family:var(--font-x);font-weight:800;font-size:clamp(30px,4vw,44px);line-height:1;text-transform:uppercase}
.rnlab .timeline li::before{content:"";position:absolute;left:8px;top:0;bottom:0;width:1px;background:var(--grey-200)}
.rnlab .timeline li::after{content:"";position:absolute;left:4px;top:50%;width:9px;height:9px;background:var(--ink-3);transform:translateY(-50%)}
.rnlab .timeline li:first-child::before{top:50%}
.rnlab .timeline li:last-child::before{bottom:50%}
.rnlab .timeline li:last-child::after{background:var(--red)}
.rnlab .timeline li small{display:block;font-family:var(--font);font-weight:400;font-size:12px;letter-spacing:.2em;color:var(--grey-500);margin-top:4px}
@media (min-width:1200px){
  .rnlab .timeline{flex-direction:row;justify-content:space-between;border-top:1px solid var(--grey-200);padding-top:0;margin-top:40px}
  .rnlab .timeline li{flex:1;padding:28px 12px 0 0;font-size:clamp(22px,2.1vw,30px);min-width:0}
  .rnlab .timeline li::before{display:none}
  .rnlab .timeline li::after{top:-5px;left:0;transform:none}
}
.rnlab .jornada__hero{display:flex;flex-direction:column;gap:20px}
.rnlab .jornada__hero .eyebrow{margin-top:10px}
.rnlab .support{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.rnlab .support li{border:1.5px solid var(--grey-200);padding:10px 14px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--grey-700)}
.rnlab .jornada__quote{display:flex;flex-direction:column;gap:32px;align-items:flex-start}
.rnlab .quote{font-size:clamp(26px,3vw,44px);font-weight:300;line-height:1.15;color:var(--black);text-wrap:balance;max-width:22ch}
.rnlab .quote strong{font-weight:700;color:var(--black)}
.rnlab .quote cite{display:block;font-style:normal;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--grey-500);margin-top:18px}
@media (min-width:1200px){
  .rnlab .jornada__head{grid-column:1 / span 12}
  .rnlab .jornada__tl{grid-column:1 / span 12}
  .rnlab .jornada__hero{grid-column:1 / span 5}
  .rnlab .jornada__quote{grid-column:7 / span 6;align-self:end}
}

/* ===== DISPONIBILIDADE ===== */
.rnlab .limit{text-align:left}
.rnlab .limit__in{display:flex;flex-direction:column;gap:32px;max-width:900px;margin:0 auto;padding-block:clamp(40px,6vw,80px)}
.rnlab .limit__text{font-size:clamp(26px,3vw,44px);font-weight:300;line-height:1.15;color:var(--black)}
.rnlab .limit__text strong{font-weight:700;color:var(--black)}

/* ===== FORMULÁRIO ===== */
.rnlab .form{background:var(--grey-50);scroll-margin-top:24px}
.rnlab .form:focus-visible{outline:none}   /* recebe o foco depois de um CTA, mas não é um controlo */
.rnlab .form__head{display:flex;flex-direction:column;gap:18px}
.rnlab .form__q{font-size:clamp(22px,2.2vw,32px);font-weight:300;color:var(--black)}
.rnlab .form form{display:grid;grid-template-columns:1fr;gap:22px}
/* O fieldset só existe para desactivar os campos até o circuito ligar: não entra na grelha. */
.rnlab .form__fields{display:contents;border:0;margin:0;padding:0;min-width:0}
.rnlab .field{display:flex;flex-direction:column;gap:8px}
.rnlab .field label{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.rnlab .field label .opt{font-weight:400;color:var(--grey-500);letter-spacing:.1em;text-transform:none}
.rnlab .field input,.rnlab .field textarea,.rnlab .field select{font:inherit;font-size:18px;line-height:1.45;background-color:#fff;border:1.5px solid var(--grey-200);padding:14px 16px;color:var(--black);border-radius:0;-webkit-appearance:none;appearance:none;width:100%;box-shadow:none}
.rnlab .field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:14px 9px;padding-right:44px}
.rnlab .field textarea{min-height:190px;resize:vertical}
.rnlab .field input::placeholder,.rnlab .field textarea::placeholder{color:var(--grey-500);opacity:1}
.rnlab .field input:focus,.rnlab .field textarea:focus,.rnlab .field select:focus{outline:2px solid transparent;border-color:var(--black);box-shadow:0 0 0 3px rgba(238,52,66,.18)}
.rnlab .field [data-invalid]{border-color:var(--red)}
.rnlab .field__error{font-size:14px;color:var(--red-dark)}
.rnlab .field--full{grid-column:1 / -1}
.rnlab .form__actions{grid-column:1 / -1;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.rnlab .form__note{font-size:14px;color:var(--grey-500);max-width:52ch}
.rnlab .form__note a{text-decoration:underline}
.rnlab .form__fail{font-size:16px;color:var(--red-dark)}
.rnlab .success{grid-column:1 / -1;border:2px solid var(--black);padding:32px 28px;background:#fff}
.rnlab .success .eyebrow{margin-bottom:14px}
.rnlab .success p:not(.eyebrow){font-size:clamp(24px,2.4vw,36px);font-weight:300;line-height:1.2}
.rnlab .success p strong{font-weight:700}
@media (min-width:768px){ .rnlab .form form{grid-template-columns:1fr 1fr} }
@media (min-width:1200px){
  .rnlab .form__head{grid-column:1 / span 4;position:sticky;top:32px;align-self:start}
  .rnlab .form__body{grid-column:6 / span 7}
}

/* ===== FECHO LAB ===== */
.rnlab .labclose{border-top:1px solid var(--grey-200);padding-block:clamp(56px,7vw,96px)}
.rnlab .labclose__in{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.rnlab .labclose__brand{color:var(--big);font-family:var(--font-x);font-weight:900;font-size:clamp(40px,6vw,88px);line-height:.9;text-transform:uppercase}
.rnlab .labclose__claim{font-size:clamp(20px,2vw,28px);font-weight:300;color:var(--black)}
.rnlab .labclose__id{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;margin-top:10px}

/* ===== REVELAR AO FAZER SCROLL =====
   .js-motion só é posta pelo lab.js — sem JS (ou com movimento reduzido) tudo aparece. */
.rnlab .rv{transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rnlab.js-motion .rv{opacity:0;transform:translateY(22px)}
.rnlab.js-motion .rv.in{opacity:1;transform:none}
.rnlab.js-motion .questions li{opacity:0;transform:translateX(-10px);transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:calc(var(--i) * 120ms)}
.rnlab.js-motion .questions.in li{opacity:1;transform:none}
.rnlab.js-motion .radial__item{opacity:0;transition:opacity .6s var(--ease);transition-delay:calc(var(--i) * 90ms)}
.rnlab.js-motion .radial.in .radial__item{opacity:1}
@media (prefers-reduced-motion:reduce){
  .rnlab .ticker__track{animation:none}
  .rnlab .hero__video,.rnlab .hero__listen{transition:none}
  .rnlab .rv,.rnlab .questions li,.rnlab .radial__item{transition:none!important;opacity:1!important;transform:none!important}
}
