/* R&M Dubs — estilos do site
   Fonte única: Lora (variável, hospedada em assets/fonts).
   Direção v5: base escura com duas cores de marca. Verde neon = ação e estado (botões, foco, indicadores). Roxo = superfícies, contornos, numeração e profundidade.
   Organização: tokens → base → layout → componentes. As camadas (@layer) evitam disputa de especificidade. */

@font-face{font-family:"Lora";src:url("assets/fonts/lora-var-latin.woff") format("woff");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Lora";src:url("assets/fonts/lora-italic-var-latin.woff") format("woff");font-weight:400 700;font-style:italic;font-display:swap}

@layer base, layout, components, pages;

/* ================================================================ tokens */
:root{
  --serif:"Lora",Georgia,"Times New Roman",serif;
  --wrap:1240px;
  --gutter:clamp(20px,4.5vw,52px);
  --radius:4px;
  --radius-lg:6px;
  --header-h:76px;

  /* escala tipográfica: corpo, secundário, auxiliar e destaque */
  --fs-body:clamp(1.0625rem,.25vw + 1rem,1.15rem);
  --fs-lead:clamp(1.15rem,1vw + .8rem,1.35rem);
  --fs-sm:1rem;
  --fs-xs:.9rem;
  --space-section:clamp(72px,9vw,128px);

  --purple:#9674D8;
  --violet:#351A70;
  --violet-deep:#24104F;
  --green:#3DF5A2;
  --green-ink:#07160F;
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0F0D15;
  --bg-alt:#17122B;
  --surface:#1F1936;
  --fg:#F3EFFA;
  --fg-2:#BDB4D6;
  --line:#35295C;
  --line-strong:rgba(243,239,250,.42);
  --accent:#B39DFF;
  --mark:#A98BFF;
  --link:#CFC1FF;
  --focus:#3DF5A2;
  --btn-bg:#3DF5A2;
  --btn-fg:#07160F;
  --btn-shadow:#7C5CE0;
  --frame-shadow:#3DF5A2;
  /* vidro: só em elementos flutuantes e botões secundários */
  --glass:rgba(23,18,43,.74);
  --glass-strong:rgba(23,18,43,.88);
  --glass-line:rgba(179,157,255,.24);
  --glass-sheen:rgba(255,255,255,.07);
  --glass-spec:rgba(169,139,255,.14);
  --glass-btn:rgba(255,255,255,.045);
  --glass-btn-hover:rgba(179,157,255,.14);
}
:root[data-theme="light"]{
  color-scheme:light;
  --bg:#EFEDF5;
  --bg-alt:#E5E1EF;
  --surface:#FBFAFD;
  --fg:#1B1626;
  --fg-2:#4B4560;
  --line:rgba(27,22,38,.18);
  --line-strong:rgba(27,22,38,.45);
  --accent:#351A70;
  --mark:#351A70;
  --link:#351A70;
  --focus:#351A70;
  --btn-bg:#351A70;
  --btn-fg:#FFFFFF;
  --btn-shadow:#9674D8;
  --frame-shadow:#9674D8;
  --glass:rgba(239,237,245,.74);
  --glass-strong:rgba(239,237,245,.94);
  --glass-line:rgba(27,22,38,.16);
  --glass-sheen:rgba(255,255,255,.7);
  --glass-spec:rgba(150,116,216,.12);
  --glass-btn:rgba(255,255,255,.5);
  --glass-btn-hover:rgba(53,26,112,.08);
}

/* ================================================================ base */
@layer base{
  *,*::before,*::after{box-sizing:border-box}
  html{scroll-padding-top:calc(var(--header-h) + 14px);-webkit-text-size-adjust:100%}
  @media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
  body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--serif);font-size:var(--fs-body);line-height:1.65;text-rendering:optimizeLegibility;transition:background-color .2s ease,color .2s ease}
  img,svg{display:block;max-width:100%}
  p,h1,h2,h3,h4,dl,dd,ul,ol,figure{margin:0}
  p{text-wrap:pretty}
  ul,ol{padding:0;list-style:none}
  h1,h2,h3,h4{font-weight:700;text-wrap:balance}
  a{color:inherit}
  button,input,select,textarea{font:inherit;color:inherit}
  ::selection{background:var(--green);color:var(--green-ink)}
  :focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}
  [hidden]{display:none!important}

  .sprite{position:absolute;width:0;height:0;overflow:hidden}
  .icon{width:1.1em;height:1.1em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .icon use{pointer-events:none}
  .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .skip{position:absolute;left:12px;top:-80px;z-index:100;padding:10px 16px;background:var(--green);color:var(--green-ink);font-weight:700;border-radius:var(--radius);text-decoration:none}
  .skip:focus{top:12px}
  .muted{color:var(--fg-2);font-weight:400}

  @media (prefers-reduced-motion:reduce){
    *,*::before,*::after{animation:none!important;transition:none!important}
  }
}

/* ================================================================ layout */
@layer layout{
  .wrap{width:min(var(--wrap),100% - 2*var(--gutter));margin-inline:auto}
  .section{padding-block:var(--space-section)}
  .band-alt{background:var(--bg-alt);border-block:1px solid var(--line)}
  .band-violet{--fg:#F1EFF7;--line:rgba(241,239,247,.26);--line-strong:rgba(241,239,247,.5);--fg-2:#DDD5F5;--accent:var(--green);--focus:var(--green);--link:#fff;--mark:var(--green);background:var(--violet);color:var(--fg)}
  .split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,6vw,96px);align-items:start}
  .section h2{font-size:clamp(2.1rem,3.8vw,3.2rem);line-height:1.1;letter-spacing:-.02em}
  .section-note{margin-top:22px;max-width:34em;font-size:var(--fs-sm);color:var(--fg-2)}
  .section-head{margin-bottom:clamp(28px,4vw,44px)}
  .section-head p{margin-top:14px;max-width:40em;font-size:var(--fs-sm);color:var(--fg-2)}
  .section-head-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px}
  .prose{display:grid;gap:1.2em;max-width:38em}
  .prose p:first-child{font-size:var(--fs-lead);line-height:1.55;color:var(--fg)}
  @media (max-width:860px){.split{grid-template-columns:1fr}}
}

/* ================================================================ componentes */
@layer components{

  /* ---------- cabeçalho */
  .site-header{position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:1px solid var(--line)}
  /* Vidro no cabeçalho: o desfoque fica num pseudo-elemento para não virar "raiz de backdrop" do menu mobile, que tem o seu próprio. */
  .site-header::before{content:none}
  @supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
    .site-header{background:none;border-bottom-color:transparent}
    .site-header::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
      background:radial-gradient(120% 140% at 12% -40%,var(--glass-spec),transparent 60%),linear-gradient(180deg,var(--glass-sheen),transparent 55%),var(--glass);
      border-bottom:1px solid var(--glass-line);box-shadow:inset 0 1px 0 var(--glass-sheen);
      -webkit-backdrop-filter:blur(14px) saturate(1.25);backdrop-filter:blur(14px) saturate(1.25)}
  }
  @media (prefers-reduced-transparency:reduce){
    .site-header{background:var(--bg)!important;border-bottom-color:var(--line)!important}
    .site-header::before{content:none!important}
  }
  .nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:var(--header-h)}
  .brand{display:flex;align-items:center;padding:3px;background:#F3F1F8;border-radius:var(--radius);text-decoration:none}
  .logo{width:46px;height:46px;object-fit:contain}
  .nav-links{position:relative;display:flex;align-items:center;gap:2px}
  .nav-links a{position:relative;padding:10px 13px;font-size:1rem;color:var(--fg-2);text-decoration:none;transition:color .15s}
  /* indicador do menu: posição e largura vêm da mola (script.js); sem JS vale o sublinhado de cada link */
  .nav-ind{position:absolute;left:0;bottom:4px;width:100px;height:2px;background:var(--accent);border-radius:2px;transform-origin:0 50%;pointer-events:none;opacity:0;will-change:transform}
  .nav-links.has-ind a:not(.nav-cta)::after{display:none}
  .nav-links a:hover,.nav-links a[aria-current="true"]{color:var(--fg)}
  .nav-links a:not(.nav-cta)::after{content:"";position:absolute;left:13px;right:13px;bottom:4px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left}
  .nav-links a:not(.nav-cta):hover::after,.nav-links a[aria-current="true"]::after{transform:scaleX(1)}
  /* --p (pressão) e --h (hover) são valores de molas; ver script.js */
  .nav-cta{margin-left:10px;padding:9px 16px!important;background:var(--btn-bg);color:var(--btn-fg)!important;font-weight:700;border-radius:var(--radius);
    transform:translate(calc(var(--p,0)*2px - var(--h,0)*1px),calc(var(--p,0)*2px - var(--h,0)*1px));
    box-shadow:max(0px,calc(2px + var(--h,0)*1px - var(--p,0)*2px)) max(0px,calc(2px + var(--h,0)*1px - var(--p,0)*2px)) 0 var(--btn-shadow)}
  .theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;height:44px;margin-left:8px;padding:0 11px;background:transparent;border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--fg);font-size:var(--fs-xs);cursor:pointer;transform:scale(calc(1 - var(--p,0)*.035));transition:border-color .15s,background-color .15s}
  .theme-toggle:hover{border-color:var(--accent);background:var(--glass-btn-hover)}
  .theme-toggle .icon{width:1.2rem;height:1.2rem}
  .theme-toggle-text{display:none}
  :root[data-theme="dark"] .icon-moon,:root[data-theme="light"] .icon-sun{display:none}
  .menu-btn{display:none;align-items:center;gap:10px;min-height:44px;padding:0 14px;background:transparent;border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--fg);font-weight:600;cursor:pointer;transform:scale(calc(1 - var(--p,0)*.035))}
  .menu-icon{position:relative;width:18px;height:2px;background:currentColor}
  .menu-icon::before,.menu-icon::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor}
  .menu-icon::before{top:-6px}.menu-icon::after{top:6px}
  .menu-btn[aria-expanded="true"] .menu-icon{background:transparent}
  /* --o vem da mola do menu (0 fechado, 1 aberto); o ícone acompanha o mesmo movimento */
  .menu-icon::before{transform:translateY(calc(var(--o,0)*6px)) rotate(calc(var(--o,0)*45deg))}
  .menu-icon::after{transform:translateY(calc(var(--o,0)*-6px)) rotate(calc(var(--o,0)*-45deg))}
  @media (max-width:920px){
    .menu-btn{display:inline-flex}
    .nav-links{position:absolute;left:0;right:0;top:var(--header-h);display:none;flex-direction:column;align-items:stretch;gap:0;padding:6px var(--gutter) 22px;background:var(--bg);border-bottom:1px solid var(--line);opacity:var(--o,1);transform:translateY(calc((1 - var(--o,1))*-10px))}
    .nav-links.open{display:flex}
    .nav-links.closing{pointer-events:none}
    .nav-ind{display:none}
    @supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
      .nav-links{background:linear-gradient(180deg,var(--glass-sheen),transparent 40%),var(--glass-strong);border-bottom-color:var(--glass-line);
        box-shadow:inset 0 1px 0 var(--glass-sheen),0 18px 36px -18px rgba(0,0,0,.55);
        -webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2)}
    }
    @media (prefers-reduced-transparency:reduce){.nav-links{background:var(--bg)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}
    .nav-links a{padding:15px 2px;border-bottom:1px solid var(--line);font-size:1.05rem}
    .nav-links a:not(.nav-cta)::after{left:2px;right:auto;width:28px;bottom:8px}
    .nav-cta{margin:18px 0 0;padding:14px 16px!important;text-align:center;border-bottom:0!important;font-size:1.05rem}
    .theme-toggle{width:100%;height:48px;margin:12px 0 0;justify-content:flex-start}
    .theme-toggle-text{display:inline}
  }

  /* ---------- botões e links de ação */
  .btn{-webkit-tap-highlight-color:transparent;touch-action:manipulation;display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:48px;padding:0 22px;border:2px solid transparent;border-radius:var(--radius);font-weight:700;font-size:1rem;line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
  /* primário: verde neon, sem vidro. --p (pressão) e --h (hover) são valores de molas (script.js). */
  .btn-primary{background:var(--btn-bg);color:var(--btn-fg);
    transform:translate(calc(var(--p,0)*3px - var(--h,0)*1px),calc(var(--p,0)*3px - var(--h,0)*1px));
    box-shadow:max(0px,calc(3px + var(--h,0)*2px - var(--p,0)*4px)) max(0px,calc(3px + var(--h,0)*2px - var(--p,0)*4px)) 0 var(--btn-shadow)}
  .btn-primary[disabled]{opacity:.6;cursor:progress}
  /* secundários: vidro discreto; sem desfoque, ficam translúcidos com a mesma borda */
  .btn-ghost,.btn-quiet{border-color:var(--line-strong);background:var(--glass-btn);color:var(--fg);transform:scale(calc(1 - var(--p,0)*.035));box-shadow:inset 0 1px 0 var(--glass-sheen)}
  .btn-ghost:hover,.btn-quiet:hover{border-color:var(--accent);background:var(--glass-btn-hover)}
  @supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
    .btn-ghost,.btn-quiet{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
  }
  .btn-quiet{min-height:44px;font-size:.95rem}
  .link-out{min-height:44px;display:inline-flex;align-items:center;gap:7px;color:var(--link);font-weight:700;text-underline-offset:5px}
  .link-out:hover{text-decoration-thickness:2px}

  /* ---------- hero */
  .hero{padding-block:clamp(56px,8vw,112px) clamp(72px,9vw,128px)}
  :root[data-theme="dark"] .hero{background:radial-gradient(60% 70% at 78% 42%,rgba(124,92,224,.22),transparent 72%)}
  .hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:clamp(40px,7vw,96px);align-items:center}
  .hero h1{max-width:14ch;font-size:clamp(2.7rem,5.6vw,4.9rem);line-height:1.04;letter-spacing:-.03em}
  .lead{margin-top:26px;max-width:36em;font-size:var(--fs-lead);line-height:1.65;color:var(--fg-2)}
  .lead strong{color:var(--fg);font-weight:600}
  .hero-actions{display:flex;flex-wrap:wrap;gap:16px 18px;margin-top:34px}
  .hero-note{margin-top:24px;max-width:40em;font-size:var(--fs-sm);color:var(--fg-2)}
  .hero-poster{justify-self:center;width:min(100%,440px)}
  .hero-poster-frame{display:grid;place-items:center;aspect-ratio:1;padding:9%;background:#F3F1F8;border:1px solid var(--line-strong);box-shadow:10px 10px 0 var(--frame-shadow)}
  .hero-poster-frame img{width:100%;height:auto}
  .hero-poster figcaption{margin-top:30px;font-style:italic;font-size:1.15rem;color:var(--fg-2)}
  @media (max-width:860px){
    .hero-grid{grid-template-columns:1fr;gap:44px}
    .hero-poster{justify-self:start;width:min(76%,320px)}
  }
  @media (max-width:520px){
    .hero-actions .btn{width:100%}
    .hero-poster{width:min(82%,300px)}
  }

  /* ---------- sobre e processo */
  .facts{margin-top:40px;border-top:2px solid var(--mark)}
  .facts>div{display:grid;grid-template-columns:minmax(110px,170px) minmax(0,1fr);gap:8px 24px;padding:18px 0;border-bottom:1px solid var(--line)}
  .facts dt{font-weight:700;font-size:1.15rem}
  .facts dd{font-size:var(--fs-sm);color:var(--fg-2)}
  .steps{counter-reset:step;border-top:2px solid var(--mark)}
  .steps li{display:grid;grid-template-columns:clamp(3rem,5vw,4.5rem) minmax(0,1fr);gap:6px 20px;align-content:start;padding:22px 0;border-bottom:1px solid var(--line)}
  .steps li::before{counter-increment:step;content:counter(step);grid-row:span 2;font-style:italic;font-weight:700;font-size:clamp(2.4rem,4vw,3.4rem);line-height:1;color:var(--mark)}
  .steps h3{font-size:1.25rem;line-height:1.3}
  .steps p{font-size:var(--fs-sm);color:var(--fg-2)}
  @media (max-width:700px){
    .facts>div{grid-template-columns:1fr;padding:16px 0}
  }
  @media (max-width:560px){
  }

  /* ---------- Equipe e Dublapedia */
  .dp-search{display:grid;gap:8px;max-width:560px}
  .dp-search label{font-weight:700;font-size:var(--fs-sm)}
  .dp-search-field{position:relative}
  .dp-search-field .icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:1.2rem;height:1.2rem;color:var(--fg-2);pointer-events:none}
  .dp-search input{width:100%;min-height:52px;padding:0 14px 0 44px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);transition:border-color .15s,box-shadow .15s}
  .dp-search input::placeholder{color:var(--fg-2);opacity:1}
  .dp-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 35%,transparent)}
  .dp-crumbs{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;margin-top:30px;padding-bottom:14px;border-bottom:1px solid var(--line)}
  .dp-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--link);font-weight:700;text-underline-offset:4px}
  .dp-back:hover{text-decoration-thickness:2px}
  .dp-crumbs ol{display:flex;flex-wrap:wrap;gap:2px 0;font-size:var(--fs-xs);color:var(--fg-2)}
  .dp-crumbs li+li::before{content:"/";margin:0 .6em;color:var(--line-strong)}
  .dp-crumbs a{text-underline-offset:3px}
  .dp-crumbs [aria-current]{color:var(--fg);font-weight:600}
  .dp-view{margin-top:30px;outline:none}
  .dp-crumbs[hidden]+.dp-view{margin-top:34px}
  .dp-view.is-entering{animation:dp-in .2s ease-out}
  @keyframes dp-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
  .dp-loading{color:var(--fg-2)}
  .dp-group+.dp-group{margin-top:48px}
  .dp-group>h3{margin-bottom:18px;font-size:1.4rem}

  @media (hover:hover) and (pointer:fine){
    .member-card,.pf-card{transform:translateY(calc(var(--h,0)*-3px))}
  }
  .member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:16px}
  .member-card{display:flex;align-items:center;gap:18px;height:100%;padding:16px 18px 16px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s}
  .member-card:hover{border-color:var(--accent);box-shadow:3px 3px 0 color-mix(in srgb,var(--mark) 45%,transparent)}
  .member-card.is-founder{border-color:var(--line-strong)}
  .member-card.is-founder .avatar-md{width:104px;height:104px}
  .member-card.is-founder .avatar-md .avatar-letter{font-size:2.8rem}
  .member-info{display:grid;gap:2px;min-width:0;flex:1}
  .member-info strong{font-size:1.35rem;line-height:1.2}
  .member-cargo{font-size:var(--fs-xs);font-weight:600;color:var(--mark)}
  .member-roles{font-size:var(--fs-xs);line-height:1.45;color:var(--fg-2)}
  .member-count{margin-top:4px;font-size:var(--fs-xs);font-style:italic;color:var(--fg-2)}
  .member-go{color:var(--fg-2);transition:transform .15s,color .15s}
  .member-card:hover .member-go,.credit-row:hover .member-go{color:var(--accent);transform:translateX(3px)}

  .avatar{position:relative;display:grid;place-items:center;flex:none;overflow:hidden;background:var(--violet);border-radius:var(--radius)}
  .avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .avatar-letter{font-style:italic;font-weight:700;color:#DDD5F5;line-height:1}
  .avatar.is-loaded .avatar-letter{visibility:hidden}
  .avatar-sm{width:64px;height:64px}.avatar-sm .avatar-letter{font-size:1.6rem}
  .avatar-md{width:92px;height:92px}.avatar-md .avatar-letter{font-size:2.3rem}
  .avatar-lg{width:200px;height:200px}.avatar-lg .avatar-letter{font-size:4.6rem}

  .profile-head{display:flex;align-items:center;gap:clamp(18px,3vw,32px)}
  .profile-kicker{font-style:italic;color:var(--mark);font-weight:600}
  .profile-head h3{margin:2px 0 6px;font-size:clamp(2.1rem,4vw,3rem);line-height:1.08;letter-spacing:-.02em;outline:none}
  .profile-roles{max-width:30em;color:var(--fg-2)}
  .profile-roles a{color:var(--link);font-weight:600;text-underline-offset:3px}
  .profile-section{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);max-width:800px}
  .profile-section>h4{margin-bottom:14px;font-size:1.2rem}
  .credit-list{border-top:1px solid var(--line)}
  .credit-row{display:flex;align-items:center;gap:16px;padding:12px 4px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
  .credit-row:hover{background:var(--surface)}
  .credit-info{display:grid;flex:1;min-width:0}
  .credit-info strong{font-size:1.1rem;font-style:italic}
  .credit-info span{font-size:var(--fs-xs);color:var(--fg-2)}
  .video-rows{display:grid;gap:10px}
  .video-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:inherit;text-decoration:none;transition:border-color .15s}
  .video-row:hover{border-color:var(--accent)}
  .video-row-title{font-weight:600;overflow-wrap:anywhere}
  .video-row-meta{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--link);font-weight:600;white-space:nowrap}
  .empty{padding:14px 0;font-style:italic;color:var(--fg-2);max-width:34em}
  .state{display:grid;justify-items:start;gap:16px;max-width:560px;padding:26px;border:1px dashed var(--line-strong);border-radius:var(--radius-lg);color:var(--fg-2)}
  .state a:not(.btn){color:var(--link)}
  @media (max-width:560px){
    .profile-head{flex-direction:column;align-items:flex-start}
    .avatar-lg{width:140px;height:140px}.avatar-lg .avatar-letter{font-size:3.6rem}
  }

  /* ---------- portfólio */
  .pf-group+.pf-group{margin-top:clamp(52px,6vw,84px)}
  .pf-group-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:26px;padding-bottom:14px;border-bottom:2px solid var(--mark)}
  .pf-group-head h3{font-size:clamp(1.55rem,2.5vw,2rem);line-height:1.15}
  .pf-count{font-size:var(--fs-sm);color:var(--fg-2)}
  .pf-updated{font-size:var(--fs-xs)!important;color:var(--fg-2)}
  .pf-updated:empty{display:none}
  .pf-grid-short{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,350px),1fr));gap:24px}
  .pf-grid-video{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:28px}
  .pf-card{padding:clamp(14px,2vw,20px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}
  .pf-card-short{display:grid;grid-template-columns:minmax(104px,136px) minmax(0,1fr);gap:18px;align-items:stretch}
  .pf-card-video{display:flex;flex-direction:column;gap:18px}
  .pf-media{position:relative;align-self:start;width:100%;aspect-ratio:9/16;overflow:hidden;background:var(--violet);border-radius:var(--radius)}
  .pf-card-video .pf-media{aspect-ratio:16/9}
  .pf-poster{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:var(--violet);cursor:pointer}
  .pf-poster img{width:100%;height:100%;object-fit:cover}
  .pf-play{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:58px;height:58px;margin:-29px 0 0 -29px;padding-left:3px;background:rgba(15,13,21,.85);border:2px solid var(--green);border-radius:50%;color:#fff;transition:background-color .15s,color .15s}
  .pf-play .icon{fill:currentColor;stroke:none;width:24px;height:24px}
  .pf-poster:hover .pf-play{background:var(--green);color:var(--green-ink)}
  .pf-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
  .pf-body{min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding-top:4px}
  .pf-kind{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-xs);font-weight:700;color:var(--fg-2)}
  .pf-kind-icon{width:1.25rem;height:1.25rem;color:var(--green)}
  :root[data-theme="light"] .pf-kind-icon{color:var(--violet)}
  .pf-body h4{margin-top:8px;font-size:clamp(1.3rem,1.9vw,1.6rem);line-height:1.25;overflow-wrap:anywhere}
  .pf-date{margin-top:6px;font-size:var(--fs-xs);color:var(--fg-2)}
  .pf-cast-title{margin-top:20px;font-size:var(--fs-sm);font-weight:700}
  .cast{width:100%;margin:6px 0 24px}
  .cast li{display:flex;align-items:baseline;gap:8px;padding:5px 0}
  .cast-role{font-style:italic;font-weight:600}
  .cast-leader{flex:1;min-width:16px;border-bottom:2px dotted var(--line-strong);transform:translateY(-4px)}
  .cast-actor{color:var(--link);font-weight:600;text-underline-offset:3px}
  .pf-watch{margin-top:auto}
  .pf-card-video .pf-body{flex:1}
  .pf-body>:nth-last-child(2){margin-bottom:18px}
  .pf-more{margin-top:28px}
  .pf-grid>.state{grid-column:1/-1}
  .pf-skel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}
  .pf-skel-video{min-height:440px}
  .pf-skel-short{min-height:370px}
  @media (max-width:700px){.pf-skel-video{min-height:330px}.pf-skel-short{min-height:210px}}
  .plain-list{display:grid;gap:8px}
  .plain-list a{color:var(--link)}
  @media (max-width:520px){
    .pf-card-short{grid-template-columns:104px minmax(0,1fr);gap:14px}
    .pf-card-short .pf-play{width:40px;height:40px;margin:-20px 0 0 -20px;padding-left:2px}
    .pf-card-short .pf-play .icon{width:16px;height:16px}
    .pf-watch{width:100%;min-height:44px;padding:0 10px;gap:.4em;font-size:.9rem}
    .pf-body h4{margin-top:6px}
  }
  @media (max-width:380px){
    .pf-card-short{grid-template-columns:1fr}
    .pf-card-short .pf-media{width:min(100%,220px)}
  }

  /* ---------- inscrição */
  .recruit-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,88px);align-items:start}
  .recruit h2{max-width:11ch}
  .recruit-info h3{margin:44px 0 14px;font-size:1.25rem}
  .recruit-info .lead{max-width:30em}
  .areas{border-top:1px solid var(--line)}
  .areas>div{display:grid;grid-template-columns:minmax(0,10rem) 1fr;gap:4px 16px;padding:13px 0;border-bottom:1px solid var(--line)}
  .areas dt{font-weight:700}
  .areas dd{color:var(--fg-2);font-size:var(--fs-sm)}
  .checks{display:grid;gap:10px}
  .checks li{position:relative;padding-left:24px;font-size:var(--fs-sm);color:var(--fg-2)}
  .checks li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;background:var(--green)}
  .flow{counter-reset:flow;display:grid;gap:12px}
  .flow li{position:relative;padding-left:36px;font-size:var(--fs-sm);color:var(--fg-2)}
  .flow li::before{counter-increment:flow;content:counter(flow);position:absolute;left:0;top:-.15em;font-style:italic;font-weight:700;font-size:1.5rem;color:var(--green)}
  .fine{margin-top:24px;font-size:var(--fs-sm);font-style:italic;color:var(--fg-2)}

  .form-card{--fg:#1B1626;--fg-2:#4B4560;--line:#CFC9DC;--line-strong:#7D7592;--accent:#351A70;--focus:#351A70;--link:#351A70;--mark:#351A70;--btn-bg:#351A70;--btn-fg:#fff;--btn-shadow:#9674D8;
    padding:clamp(22px,3.4vw,38px);background:#F7F5FB;color:var(--fg);border-radius:var(--radius-lg);box-shadow:10px 10px 0 var(--violet-deep)}
  .form-card h3{font-size:1.6rem;line-height:1.2}
  .form-intro{margin-top:6px;font-size:var(--fs-sm);color:var(--fg-2)}
  .form-card .notice{margin-top:18px}
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px;margin-top:24px}
  .field{display:grid;gap:6px;align-content:start}
  .field.full{grid-column:1/-1}
  .field label{font-weight:700;font-size:var(--fs-sm)}
  .req{color:#A4161A;font-weight:700}
  .hint{font-size:var(--fs-xs);line-height:1.45;color:var(--fg-2)}
  .field-foot{display:flex;justify-content:space-between;gap:12px}
  .counter{flex:none;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--fg-2)}
  .control{width:100%;min-height:52px;padding:11px 13px;background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--fg);transition:border-color .15s,box-shadow .15s}
  textarea.control{min-height:140px;resize:vertical;line-height:1.5}
  .control::placeholder{color:#6F6785;opacity:1}
  .control:hover{border-color:var(--accent)}
  .control:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(53,26,112,.28)}
  select.control{appearance:none;padding-right:38px;background-image:linear-gradient(45deg,transparent 50%,#351A70 50%),linear-gradient(135deg,#351A70 50%,transparent 50%);background-position:calc(100% - 20px) 54%,calc(100% - 14px) 54%;background-size:6px 6px;background-repeat:no-repeat}
  .field.invalid .control{border-color:#B3261E;box-shadow:0 0 0 3px rgba(179,38,30,.16)}
  .error{display:none;font-size:var(--fs-xs);font-weight:600;line-height:1.4;color:#A4161A}
  .field.invalid .error,.consent.invalid .error{display:block}
  .consent{display:grid;grid-template-columns:24px 1fr;gap:12px;margin-top:22px;align-items:start}
  .consent input{width:24px;height:24px;margin:2px 0 0;accent-color:#351A70}
  .consent label{font-size:var(--fs-sm);line-height:1.5}
  .consent label a,.form-fine a{color:var(--link);font-weight:600}
  .consent .error{grid-column:2}
  .trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
  .form-actions{display:grid;gap:12px;margin-top:26px}
  .form-actions .btn{width:100%}
  .form-fine{margin-top:18px;font-size:var(--fs-xs);line-height:1.55;color:var(--fg-2)}
  .summary{margin-top:20px;padding:16px 18px;background:#FDEDEC;border:2px solid #B3261E;border-radius:var(--radius);color:#611A15}
  .summary h4{margin-bottom:6px;font-size:1rem}
  .summary ul{display:grid;gap:4px;padding-left:1.1em;list-style:disc}
  .summary a{color:inherit;font-weight:600}
  .result{margin-top:20px;padding:16px 18px;background:#E9E4F7;border-left:4px solid var(--accent);border-radius:var(--radius)}
  .result.is-error{background:#FDEDEC;border-left-color:#B3261E;color:#611A15}
  .result h4{margin-bottom:4px;font-size:1.05rem}
  .result .btn{margin-top:14px;width:auto}
  .notice{padding:14px 16px;background:var(--surface);border-left:4px solid var(--mark);font-size:var(--fs-sm)}
  .success{padding:6px 0 2px;outline:none}
  .success h3{font-size:1.7rem}
  .success p{margin-top:12px;max-width:30em;color:var(--fg-2)}
  @media (max-width:920px){
    .recruit-grid{grid-template-columns:1fr}
    .recruit h2{max-width:none}
  }
  @media (max-width:620px){
    .form-grid{grid-template-columns:1fr}
    .areas>div{grid-template-columns:1fr}
    }

  /* ---------- perguntas */
  @media (min-width:921px){#perguntas .split>h2{position:sticky;top:calc(var(--header-h) + 24px)}}
  .faq{border-top:1px solid var(--line)}
  .faq details{border-bottom:1px solid var(--line)}
  .faq summary{position:relative;display:block;padding:22px 52px 22px 0;min-height:64px;font-weight:700;font-size:1.2rem;line-height:1.4;cursor:pointer;list-style:none}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{content:"";position:absolute;right:6px;top:50%;width:9px;height:9px;margin-top:-7px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg);transition:transform .2s}
  .faq details[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
  .faq summary:hover{color:var(--accent)}
  .faq details p{padding:0 52px 26px 0;max-width:38em;font-size:var(--fs-body);color:var(--fg-2)}
  .faq details a{color:var(--link);text-underline-offset:3px}

  /* ---------- contato */
  .contact-list{border-top:1px solid var(--line)}
  .contact-list>div{display:grid;grid-template-columns:7.5rem 1fr;gap:6px 16px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--line)}
  .contact-list dt{font-weight:700;font-size:var(--fs-sm);color:var(--fg-2)}
  .contact-list dd{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 22px}
  .contact-main{font-size:clamp(1.3rem,2.6vw,1.85rem);font-weight:700;color:var(--fg);overflow-wrap:anywhere;text-underline-offset:5px;text-decoration-thickness:1px}
  .contact-main:hover{color:var(--accent);text-decoration-thickness:2px}
  @media (max-width:520px){.contact-list>div{grid-template-columns:1fr}}

  /* ---------- rodapé */
  .site-footer{padding-block:64px 36px;border-top:1px solid var(--line);font-size:var(--fs-sm)}
  .footer-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px 64px}
  .footer-brand{display:grid;gap:14px;align-content:start;justify-items:start}
  .footer-brand p{max-width:26em;color:var(--fg-2)}
  .footer-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .footer-cols h2{margin-bottom:12px;font-size:1.1rem}
  .footer-cols li+li{margin-top:4px}
  .footer-cols a{display:inline-block;padding:5px 0;color:var(--fg-2);text-underline-offset:4px;transition:color .15s}
  .footer-cols a:hover{color:var(--accent)}
  .footer-base{margin-top:44px;padding-top:22px;border-top:1px solid var(--line);font-size:var(--fs-xs);color:var(--fg-2)}
  .footer-base a{text-underline-offset:4px}
  .footer-legal{margin-top:6px;font-size:var(--fs-xs);color:var(--fg-2)}
  @media (max-width:760px){
    .footer-grid{grid-template-columns:1fr}
    .footer-cols{grid-template-columns:1fr}
  }
}

/* ================================================================ páginas internas */
@layer pages{
  .doc{padding-block:clamp(48px,7vw,88px)}
  .doc .wrap{max-width:760px}
  .doc h1{font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.08;letter-spacing:-.025em}
  .doc .updated{margin-top:12px;font-size:var(--fs-sm);color:var(--fg-2)}
  .doc h2{margin-top:44px;font-size:1.5rem;line-height:1.25}
  .doc p,.doc ul{margin-top:12px}
  .doc ul{display:grid;gap:6px;padding-left:1.3em;list-style:disc}
  .doc a{color:var(--link);font-weight:600;text-underline-offset:3px}
  .notfound{min-height:62vh;display:grid;align-content:center;justify-items:start;gap:18px;padding-block:72px}
  .notfound h1{font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.08}
  .notfound p{max-width:32em;color:var(--fg-2)}
}

@layer pages{
  .nav-links-static a{padding:10px 12px}
  .nav-links-static a::after{display:none}
  .footer-base-solo{margin:0;padding:0;border:0}
  @media (max-width:920px){
    .nav-links-static{position:static;display:flex;flex-direction:row;align-items:center;padding:0;background:none;border:0}
    .nav-links-static a{padding:10px 8px;border:0;font-size:.95rem}
    .nav-links-static .theme-toggle{width:auto;margin:0 0 0 8px}
    .nav-links-static .theme-toggle-text{display:none}
  }
}
