:root{
  --pb-text:#333132;
  --pb-text-initial:#333132;
  --pb-bg:#E9E9E9;
  --pb-scroll-bg:rgba(233,233,233,.92);
  --pb-max:1360px;
  --pb-ease:cubic-bezier(.22,.61,.36,1);
}

html{
  margin:0 !important;
  padding:0;
  background:var(--pb-bg);
}

body.pb-project-document{
  display:block !important;
  width:100%;
  max-width:none !important;
  min-height:100%;
  margin:0 !important;
  padding:0 !important;
  overflow-x:hidden;
  background:var(--pb-bg);
}

body.pb-menu-open{
  overflow:hidden;
}

.pb-nav-wrap,
.pb-nav-wrap *{
  box-sizing:border-box;
}

.pb-nav-wrap{
  position:relative;
  z-index:9999;

  font-family:
    "General Sans",
    "Inter",
    "Helvetica Neue",
    Arial,
    sans-serif;
}

/* =========================================
   BARRA PRINCIPAL
========================================= */

.pb-nav-shell{
  position:fixed;
  top:0;
  left:0;
  z-index:9999;

  width:100%;
  padding:18px 0;

  background:transparent;
  box-shadow:none;

  -webkit-backdrop-filter:none;
  backdrop-filter:none;

  opacity:0;
  transform:translateY(-18px);

  animation:pbNavIn 1s var(--pb-ease) forwards;

  transition:
    background .38s ease,
    box-shadow .38s ease,
    backdrop-filter .38s ease,
    -webkit-backdrop-filter .38s ease,
    padding .38s ease,
    transform .8s var(--pb-ease),
    opacity .8s ease;
}

.admin-bar .pb-nav-shell{
  top:32px;
}

.pb-nav-shell.is-scrolled{
  padding:14px 0;

  background:var(--pb-scroll-bg);
  box-shadow:0 1px 0 rgba(0,0,0,.08);

  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}

.pb-nav-shell.is-menu-open{
  background:transparent !important;
  box-shadow:none !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}

@keyframes pbNavIn{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

.pb-nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;

  width:min(var(--pb-max),calc(100% - 48px));
  margin:0 auto;
}

/* =========================================
   LOGOTIPO
========================================= */

.pb-nav-logo{
  display:flex;
  align-items:center;

  color:var(--pb-text);
  text-decoration:none !important;

  opacity:0;
  transform:translateY(16px);

  animation:pbItemIn .9s var(--pb-ease) .15s forwards;
}

.pb-nav-logo img{
  display:block;

  width:152px;
  max-width:38vw;
  height:auto;

  filter:none;

  transition:
    filter .38s ease,
    opacity .38s ease,
    transform .38s var(--pb-ease);
}

.pb-nav-logo:hover img{
  transform:translateY(-1px);
}

/* =========================================
   ACCIONES
========================================= */

.pb-nav-actions{
  display:flex;
  align-items:center;
  gap:12px;
}

.pb-menu-toggle{
  position:relative;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;

  min-height:46px;
  margin:0;
  padding:0;
  border:0;

  background:transparent !important;
  color:var(--pb-text);

  font:inherit;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;

  box-shadow:none !important;
  outline:none !important;

  opacity:0;
  transform:translateY(16px);

  animation:pbItemIn .9s var(--pb-ease) .25s forwards;

  transition:color .38s ease,opacity .38s ease;
}

.pb-menu-toggle::before{
  content:"";

  position:absolute;
  inset:-8px -10px;

  background:transparent;

  opacity:0;
  transform:scaleX(.82) scaleY(.86);

  transition:transform .45s var(--pb-ease),opacity .32s ease;
  pointer-events:none;
}

.pb-menu-toggle:hover::before{
  opacity:1;
  transform:scale(1);
}

.pb-menu-toggle:focus,
.pb-menu-toggle:active,
.pb-menu-toggle:hover{
  background:transparent !important;
  color:var(--pb-text) !important;
  box-shadow:none !important;
  outline:none;
}

.pb-menu-toggle:focus-visible{
  outline:2px solid var(--pb-text) !important;
  outline-offset:6px;
}

@keyframes pbItemIn{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

.pb-menu-toggle-text{
  position:relative;

  color:currentColor;

  font-size:12px;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;

  transition:transform .38s var(--pb-ease),opacity .28s ease,color .38s ease;
}

.pb-menu-toggle:hover .pb-menu-toggle-text{
  opacity:1;
  transform:translateY(-1px);
}

.pb-menu-toggle-icon{
  position:relative;

  display:block;
  width:28px;
  height:18px;

  transition:transform .4s var(--pb-ease);
}

.pb-menu-toggle:hover .pb-menu-toggle-icon{
  transform:translateX(2px);
}

.pb-menu-toggle-icon span{
  position:absolute;
  left:0;

  width:100%;
  height:1px;

  background:currentColor;

  transition:
    transform .45s var(--pb-ease),
    top .45s var(--pb-ease),
    opacity .25s ease,
    width .35s var(--pb-ease),
    background .38s ease;
}

.pb-menu-toggle-icon span:nth-child(1){top:2px}
.pb-menu-toggle-icon span:nth-child(2){top:9px}
.pb-menu-toggle-icon span:nth-child(3){top:16px}
.pb-menu-toggle:hover .pb-menu-toggle-icon span:nth-child(1){width:82%}
.pb-menu-toggle:hover .pb-menu-toggle-icon span:nth-child(2){width:100%}
.pb-menu-toggle:hover .pb-menu-toggle-icon span:nth-child(3){width:68%}

.pb-menu-toggle.is-active .pb-menu-toggle-icon{
  transform:none;
}

.pb-menu-toggle.is-active .pb-menu-toggle-icon span{
  width:100%;
}

.pb-menu-toggle.is-active .pb-menu-toggle-icon span:nth-child(1){
  top:9px;
  transform:rotate(45deg);
}

.pb-menu-toggle.is-active .pb-menu-toggle-icon span:nth-child(2){
  opacity:0;
}

.pb-menu-toggle.is-active .pb-menu-toggle-icon span:nth-child(3){
  top:9px;
  transform:rotate(-45deg);
}

/* =========================================
   PANEL FULLSCREEN
========================================= */

.pb-menu-panel{
  position:fixed;
  inset:0;
  z-index:9998;

  background:rgba(233,233,233,.78);

  -webkit-backdrop-filter:blur(22px) saturate(120%);
  backdrop-filter:blur(22px) saturate(120%);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.35),
    0 0 0 1px rgba(0,0,0,.04);

  opacity:0;
  visibility:hidden;
  pointer-events:none;

  transition:opacity .45s ease,visibility .45s ease;
}

.admin-bar .pb-menu-panel{
  top:32px;
}

.pb-menu-panel.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.pb-menu-panel::before{
  content:"";

  position:absolute;
  inset:0;

  background:
    radial-gradient(circle at 20% 20%,rgba(255,255,255,.45),transparent 28%),
    radial-gradient(circle at 80% 30%,rgba(255,255,255,.28),transparent 22%),
    linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,0));

  pointer-events:none;
}

.pb-menu-grid{
  position:relative;
  z-index:2;

  display:flex;
  align-items:center;
  justify-content:flex-end;

  width:min(var(--pb-max),calc(100% - 48px));
  height:100%;
  margin:0 auto;
  padding:120px 0 40px;

  text-align:right;
}

.pb-menu-col{
  width:100%;
  max-width:760px;
  margin-left:auto;
}

.pb-menu-label{
  display:inline-flex;
  align-items:center;
  gap:10px;

  margin-bottom:28px;

  color:rgba(51,49,50,.56);

  font-size:11px;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;

  opacity:0;
  transform:translateY(18px);

  transition:transform .7s var(--pb-ease),opacity .7s ease;
}

.pb-menu-label::before{
  content:"";

  display:block;
  width:28px;
  height:1px;

  background:rgba(51,49,50,.34);
}

.pb-menu-links{
  display:grid;
  gap:10px;
  justify-items:end;

  margin:0;
  padding:0;

  list-style:none;
}

.pb-menu-links li{
  width:100%;
  margin:0;
  padding:0;
  overflow:visible;
}

.pb-menu-main-link{
  position:relative;

  display:inline-block;
  padding:6px 0;

  background:transparent !important;
  color:#333132;

  font-size:clamp(34px,5vw,72px);
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.05em;
  text-decoration:none !important;

  opacity:0;
  transform:translateY(26px);

  transition:transform .7s var(--pb-ease),opacity .7s ease,color .3s ease;
}

.pb-menu-main-link .pb-link-text{
  display:inline-block;
  will-change:transform;

  transition:transform .42s var(--pb-ease),letter-spacing .42s ease;
}

.pb-menu-main-link--back{
  margin-bottom:10px;

  color:rgba(51,49,50,.68);

  font-size:clamp(25px,3.6vw,50px);
  letter-spacing:-.042em;
}

.pb-menu-main-link:hover .pb-link-text{
  transform:translateX(-8px);
}

.pb-menu-main-link:hover,
.pb-menu-main-link:focus,
.pb-menu-main-link:active{
  background:transparent !important;
  color:#333132 !important;
  opacity:1 !important;
  outline:none;
}

.pb-menu-main-link:focus-visible{
  outline:2px solid #333132;
  outline-offset:5px;
}

.pb-menu-panel.is-open .pb-menu-label{
  opacity:1;
  transform:translateY(0);
  transition-delay:.04s;
}

.pb-menu-panel.is-open .pb-menu-main-link{
  opacity:1;
  transform:translateY(0);
}

.pb-menu-panel.is-open .pb-menu-links li:nth-child(1) .pb-menu-main-link{transition-delay:.08s}
.pb-menu-panel.is-open .pb-menu-links li:nth-child(2) .pb-menu-main-link{transition-delay:.14s}
.pb-menu-panel.is-open .pb-menu-links li:nth-child(3) .pb-menu-main-link{transition-delay:.20s}
.pb-menu-panel.is-open .pb-menu-links li:nth-child(4) .pb-menu-main-link{transition-delay:.26s}
.pb-menu-panel.is-open .pb-menu-links li:nth-child(5) .pb-menu-main-link{transition-delay:.32s}
.pb-menu-panel.is-open .pb-menu-links li:nth-child(6) .pb-menu-main-link{transition-delay:.38s}

@media (max-width:782px){
  .admin-bar .pb-nav-shell,
  .admin-bar .pb-menu-panel{
    top:46px;
  }
}

@media (max-width:780px){
  .pb-nav-shell{padding:14px 0}
  .pb-nav-shell.is-scrolled{padding:12px 0}

  .pb-nav-inner{
    width:min(var(--pb-max),calc(100% - 28px));
  }

  .pb-nav-logo img{
    width:126px;
    max-width:44vw;
  }

  .pb-menu-toggle{
    min-height:42px;
    gap:10px;
  }

  .pb-menu-toggle-text{
    font-size:11px;
    letter-spacing:.14em;
  }

  .pb-menu-grid{
    align-items:flex-start;
    justify-content:flex-end;

    width:min(var(--pb-max),calc(100% - 28px));
    padding:96px 0 30px;
  }

  .pb-menu-col{max-width:100%}
  .pb-menu-label{margin-bottom:20px}

  .pb-menu-links{
    gap:10px;
    justify-items:end;
  }

  .pb-menu-main-link{
    padding:5px 0;
    font-size:clamp(28px,10vw,46px);
    line-height:1.08;
  }

  .pb-menu-main-link--back{
    margin-bottom:8px;
    font-size:clamp(23px,7.2vw,32px);
  }

  .pb-menu-main-link:hover .pb-link-text{
    transform:translateX(-5px);
  }
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}

  .pb-nav-shell,
  .pb-nav-logo,
  .pb-menu-toggle,
  .pb-menu-label,
  .pb-menu-main-link{
    animation:none !important;
    transition:none !important;
    opacity:1 !important;
    transform:none !important;
  }
}
