/* Núcleo RB · estilos compartilhados (equivalem às Configurações Globais do Elementor) */
.rb{container-type:inline-size;font-family:var(--fb,'Figtree',system-ui,sans-serif);color:#111111;background:#FFFFFF;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
.rb *{box-sizing:border-box}
.rb h1,.rb h2,.rb h3,.rb h4,.rb p,.rb ul,.rb ol,.rb figure,.rb dl,.rb dd{margin:0}
.rb ul,.rb ol{padding:0;list-style:none}
.rb img{display:block;max-width:100%}
.rb a{color:inherit}
.rb button{font:inherit;color:inherit}

/* tipografia */
.fd{font-family:var(--fd,'Unna',Georgia,serif);font-weight:400;letter-spacing:-.005em;line-height:1.08;text-wrap:balance}
.h-xl{font-size:clamp(42px,6.2cqi,92px)}
.h-l{font-size:clamp(34px,4.3cqi,64px)}
.h-m{font-size:clamp(28px,3.1cqi,46px)}
.h-s{font-size:clamp(23px,2.1cqi,30px);line-height:1.15}
.h-xs{font-size:21px;line-height:1.2}
.lead{font-size:clamp(18px,1.45cqi,21px);line-height:1.6}
.small{font-size:15px;line-height:1.55}
.tiny{font-size:13px;line-height:1.45}
.prose{display:flex;flex-direction:column;gap:18px;max-width:640px;text-wrap:pretty}
.label{font-size:14px;letter-spacing:.02em;font-weight:500;color:#5E6268}
.it{font-style:italic}

/* cores de seção */
.creme{background:#FFFFFF;color:#111111}
.sand{background:#F2F2F2;color:#111111}
.dark{background:#0B0B0B;color:#FFFFFF}
.brown{background:#1A1A1A;color:#FFFFFF}
.muted{color:#5C5C5C}
.dark .muted,.brown .muted{color:#A8A8A8}
.dark .label,.brown .label{color:#B9BDC3}
.gold{color:#B9BDC3}
.ph{color:#5E6268;font-style:normal;background:rgba(185,189,195,.16);padding:0 4px;border-radius:2px}
.dark .ph,.brown .ph{color:#D4D7DB;background:rgba(185,189,195,.14)}

/* estrutura */
.wrap{width:100%;max-width:1320px;margin:0 auto;padding-inline:clamp(20px,5.5cqi,88px)}
.sec{padding-block:clamp(72px,9cqi,144px)}
.sec-s{padding-block:clamp(56px,6cqi,96px)}
.stack{display:flex;flex-direction:column}
.row{display:flex;flex-wrap:wrap;align-items:center}
.rule{border-top:1px solid rgba(17,17,17,.16)}
.dark .rule,.brown .rule{border-top-color:rgba(255,255,255,.16)}
.rail{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(24px,4cqi,64px)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6cqi,112px);align-items:center}
.split-57{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6cqi,112px)}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3cqi,48px)}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3cqi,48px)}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.4cqi,36px)}

/* botões e links */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:2px;background:#0B0B0B;color:#FFFFFF !important;border:1px solid #0B0B0B;font-weight:600;font-size:16px;line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.btn:hover{background:#3A3C40;border-color:#3A3C40}
.btn:active{background:#000000;border-color:#000000}
.btn:focus-visible{outline:2px solid #8E939A;outline-offset:3px}
.dark .btn,.brown .btn{background:#FFFFFF;color:#0B0B0B !important;border-color:#FFFFFF}
.dark .btn:hover,.brown .btn:hover{background:#D9DCE0;border-color:#D9DCE0}
.dark .btn:active,.brown .btn:active{background:#B9BDC3;border-color:#B9BDC3}
.btn-line{background:transparent;color:#111111 !important;border-color:rgba(17,17,17,.5)}
.btn-line:hover{background:#111111;color:#FFFFFF !important;border-color:#111111}
.dark .btn-line,.brown .btn-line{background:transparent;color:#FFFFFF !important;border-color:rgba(255,255,255,.5)}
.dark .btn-line:hover,.brown .btn-line:hover{background:#FFFFFF;color:#0B0B0B !important;border-color:#FFFFFF}
.lnk{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#111111;font-weight:600;font-size:16px;text-decoration:none;background:linear-gradient(#8E939A,#8E939A) left calc(50% + 13px)/100% 1px no-repeat;transition:background-size .25s}
.lnk:hover{background-size:0 1px}
.dark .lnk,.brown .lnk{color:#FFFFFF}
.arrow{display:inline-block;transition:transform .2s}
.lnk:hover .arrow{transform:translateX(4px)}

/* listas editoriais (tecnologias, equipe, recursos) */
.list>li{border-top:1px solid rgba(17,17,17,.16)}
.list>li:last-child{border-bottom:1px solid rgba(17,17,17,.16)}
.dark .list>li,.brown .list>li{border-top-color:rgba(255,255,255,.16)}
.dark .list>li:last-child,.brown .list>li:last-child{border-bottom-color:rgba(255,255,255,.16)}
.item{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(20px,4cqi,64px);padding-block:clamp(32px,3.6cqi,52px)}
.item-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3cqi,44px)}
.dt{font-size:14px;font-weight:600;letter-spacing:.02em;color:#5E6268;margin-bottom:6px}
.dark .dt,.brown .dt{color:#B9BDC3}
.item-c{display:flex;flex-direction:column;gap:14px;padding-block:28px}

/* acordeão */
.acc>li{border-top:1px solid rgba(17,17,17,.16)}
.acc>li:last-child{border-bottom:1px solid rgba(17,17,17,.16)}
.dark .acc>li{border-top-color:rgba(255,255,255,.16)}
.dark .acc>li:last-child{border-bottom-color:rgba(255,255,255,.16)}
.acc-q{display:flex;width:100%;align-items:center;justify-content:space-between;gap:24px;min-height:72px;padding:18px 0;background:none;border:0;text-align:left;cursor:pointer}
.acc-q .fd{font-size:clamp(21px,1.8cqi,26px);line-height:1.25}
.acc-i{flex:none;width:28px;height:28px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;opacity:.7;transition:transform .25s}
.acc-open .acc-i{transform:rotate(45deg)}
.acc-a{padding:0 56px 28px 0;max-width:760px}

/* card de área (foto + nome) */
.area{display:flex;flex-direction:column;gap:14px;text-decoration:none}
.area-img{position:relative;aspect-ratio:3/4;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:22px;color:#FFFFFF}
.area-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.area:hover .area-img img{transform:scale(1.04)}
.area-img>*{position:relative}
.area-name{font-size:clamp(30px,2.6cqi,40px);line-height:1.05}
.area-sub{font-size:15px;line-height:1.45}

/* chips (sub-navegação) */
.subnav{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid rgba(17,17,17,.12)}
.subnav-in{display:flex;gap:8px;overflow-x:auto;padding-block:12px;scrollbar-width:none}
.chip{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid rgba(17,17,17,.22);border-radius:999px;font-size:15px;font-weight:500;text-decoration:none;color:#111111;white-space:nowrap}
.chip:hover{border-color:#111111}
.chip-on{background:#0B0B0B;border-color:#0B0B0B;color:#FFFFFF}
.chip small{font-size:13px;opacity:.7}

/* placeholder de foto */
.ph-photo{display:flex;align-items:flex-end;padding:20px;color:#A8A8A8;font-size:14px;background:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 1px,transparent 1px 14px),#1A1A1A}

/* cabeçalho */
.nav-a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;background:none;border:0;cursor:pointer;color:#E6E6E6;font-size:15px;font-weight:500;text-decoration:none;position:relative}
.nav-a:hover{color:#FFFFFF}
.nav-a.on::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:1px;background:#B9BDC3}
.drop-a{display:flex;align-items:center;min-height:48px;padding:0 24px;color:#FFFFFF;text-decoration:none;font-size:16px}
.drop-a:hover{background:rgba(255,255,255,.06);color:#B9BDC3}
.m-a{display:flex;align-items:center;min-height:56px;color:#FFFFFF;text-decoration:none;font-size:30px;border-bottom:1px solid rgba(255,255,255,.12)}
.m-sub{display:flex;align-items:center;min-height:48px;padding-left:20px;color:#CFCFCF;text-decoration:none;font-size:17px}

/* hero com vídeo de fundo (1920×1080) */
.vhero{position:relative;overflow:hidden;height:clamp(640px,56.25cqi,960px);display:flex;align-items:flex-end;background:#0B0B0B;color:#FFFFFF}
.vhero-media{position:absolute;inset:0}
.vhero-media img,.vhero-media video{width:100%;height:100%;object-fit:cover;display:block}
.vhero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,11,.55) 0%,rgba(11,11,11,.1) 38%,rgba(11,11,11,.82) 100%)}
.vhero-txt{position:relative;z-index:1;padding-block:120px 72px;display:flex;flex-direction:column;gap:24px}
.vhero-spec{position:absolute;z-index:2;right:24px;top:112px;padding:6px 10px;background:rgba(11,11,11,.7);color:#FFFFFF;font-size:13px;border:1px solid rgba(255,255,255,.2)}
.vhero-pause{position:absolute;z-index:2;right:24px;bottom:24px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(11,11,11,.35);color:#FFFFFF;display:grid;place-items:center;cursor:pointer}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);min-height:800px}
.hero-txt{display:flex;flex-direction:column;justify-content:center;gap:28px;padding:96px clamp(20px,5.5cqi,88px);max-width:780px;margin-left:auto;width:100%}
.hero-img{position:relative;min-height:100%;overflow:hidden}
.hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.opening{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6cqi,96px);align-items:end}
.quotes{columns:3 280px;column-gap:clamp(24px,4cqi,64px)}
.quotes>figure{break-inside:avoid;padding:28px 0;border-top:1px solid rgba(17,17,17,.16);margin:0 0 8px}
.sep{color:#B9BDC3;padding:0 .35em}

/* responsivo: o container é a largura da página */
@container (max-width: 1080px){
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .item-body{grid-template-columns:1fr}
}
@container (max-width: 820px){
  .rail,.split,.split-57,.g2,.g3,.item,.opening{grid-template-columns:1fr}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-img{order:-1;aspect-ratio:4/5;min-height:0}
  .hero-txt{padding-block:48px 64px;margin-left:0}
  .m-first{order:-1}
  .acc-a{padding-right:0}
  .hide-m{display:none !important}
}
@container (min-width: 821px){
  .only-m{display:none !important}
}
@container (max-width: 520px){
  .g4{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .area-img{padding:14px}
  .area-name{font-size:24px}
  .btn{width:100%}
}
