:root {
  --pbx-ink:#10141a;
  --pbx-paper:#eee6dc;
  --pbx-sand:#dfd3c5;
  --pbx-gold:#806126;
  --pbx-turquoise:#0b7d87;
  --pbx-muted:#656b73;
}

.pbx-skip-link {
  position:fixed;
  top:8px;
  left:8px;
  z-index:100000;
  padding:12px 16px;
  background:var(--pbx-ink);
  color:#fff;
  font-weight:800;
  transform:translateY(-150%);
}
.pbx-skip-link:focus { transform:translateY(0); }

body :where(a,button,input,select,textarea):focus-visible {
  outline:3px solid var(--pbx-turquoise) !important;
  outline-offset:3px !important;
}

.pbx-instagram {
  margin:clamp(54px,8vw,100px) 0;
  padding:clamp(28px,5vw,58px);
  background:var(--pbx-ink);
  color:#fff;
}
.pbx-instagram__head {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:36px;
  align-items:end;
  padding-bottom:32px;
  border-bottom:1px solid #3b424a;
}
.pbx-kicker {
  margin:0 0 12px;
  color:#d6b86f;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.pbx-instagram h2 { margin:0; color:#fff; font-size:clamp(2rem,4.5vw,4rem); line-height:1.03; }
.pbx-instagram__head p:not(.pbx-kicker) { max-width:720px; margin:18px 0 0; color:#c9cdd1; font-size:1.04rem; line-height:1.65; }
.pbx-instagram__cta {
  display:inline-flex;
  gap:10px;
  align-items:center;
  min-height:48px;
  padding:13px 18px;
  background:#27b8c4;
  color:var(--pbx-ink);
  font-weight:850;
  text-decoration:none;
  white-space:nowrap;
}
.pbx-instagram__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:1px; background:#3b424a; }
.pbx-instagram__grid a {
  display:flex;
  flex-direction:column;
  min-height:190px;
  padding:26px;
  background:#171c22;
  color:#fff;
  text-decoration:none;
  transition:background .2s ease,transform .2s ease;
}
.pbx-instagram__grid a:hover { background:#806126; transform:translateY(-3px); }
.pbx-instagram__grid span { color:#50c8d1; font-size:.74rem; font-weight:800; }
.pbx-instagram__grid strong { margin-top:auto; font-size:1.45rem; }
.pbx-instagram__grid small { margin-top:8px; color:#c9cdd1; font-size:.88rem; line-height:1.5; }
.pbx-instagram__grid b { margin-top:18px; color:#50c8d1; font-size:.78rem; letter-spacing:.04em; }
.pbx-instagram__grid a:hover b { color:#fff; }

.pbx-studio-nav {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin:28px 0 54px;
  padding:14px;
  border:1px solid #c9bcaa;
  background:var(--pbx-paper);
}
.pbx-studio-nav > span {
  margin-right:auto;
  color:var(--pbx-gold);
  font-size:.7rem;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.pbx-studio-nav a {
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:8px 11px;
  color:var(--pbx-ink);
  font-size:.82rem;
  font-weight:750;
  text-decoration:none;
}
.pbx-studio-nav a:hover { background:var(--pbx-sand); }
.pbx-studio-nav .pbx-studio-nav__cta { background:var(--pbx-gold); color:#fff; padding-inline:16px; }

html { scroll-behavior:smooth; }
#pbx-approccio,#pbx-esperienza,#pbx-percorso,#pbx-riconoscimenti,#pbx-metodo { scroll-margin-top:110px; }

@media (max-width:760px) {
  .pbx-instagram__head { grid-template-columns:1fr; }
  .pbx-instagram__cta { justify-content:center; width:100%; }
  .pbx-instagram__grid { grid-template-columns:1fr; }
  .pbx-instagram__grid a { min-height:150px; }
  .pbx-studio-nav { align-items:stretch; }
  .pbx-studio-nav > span { width:100%; margin:0 0 6px; }
  .pbx-studio-nav a { flex:1 1 42%; justify-content:center; background:#f7f3ee; }
  .pbx-studio-nav .pbx-studio-nav__cta { flex-basis:100%; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
