/* Barci Consulting — Dynamics V4
   Ritmo visivo e micro-interazioni. Nessuna modifica a contenuti/SEO/logica. */

/* ---------- Progress + scene navigation ---------- */
.bc-home-page .bc-scroll-progress {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 3px;
  z-index: 120;
  pointer-events: none;
  background: rgba(255,255,255,.08);
}
.bc-home-page .bc-scroll-progress > span {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  background: linear-gradient(90deg,#2f6bff 0%,#17a8ff 55%,#22d3ee 100%);
  box-shadow: 0 0 18px rgba(34,211,238,.42);
  will-change: transform;
}

.bc-home-page .bc-scroll-rail {
  position: fixed;
  right: 20px;
  top: 50%;
  z-index: 60;
  transform: translateY(-50%);
  display: grid;
  gap: 10px;
  padding: 12px 9px;
  border-radius: 999px;
  background: rgba(4,26,49,.72);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 14px 40px rgba(4,26,49,.16);
  backdrop-filter: blur(14px);
}
.bc-home-page .bc-scroll-rail button {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  background: rgba(255,255,255,.34);
  transition: transform .22s ease, background .22s ease, box-shadow .22s ease;
}
.bc-home-page .bc-scroll-rail button:hover,
.bc-home-page .bc-scroll-rail button[aria-current="true"] {
  transform: scale(1.55);
  background: #53d9ff;
  box-shadow: 0 0 0 4px rgba(83,217,255,.12), 0 0 16px rgba(83,217,255,.5);
}

/* ---------- Shared scene language ---------- */
.bc-home-page main > section {
  position: relative;
  isolation: isolate;
}
.bc-home-page main > section > .bc-container { position:relative; z-index:1; }
.bc-home-page main > section[data-scene]::before {
  content: attr(data-scene);
  position: absolute;
  z-index: 0;
  right: max(3vw, 26px);
  top: 24px;
  font-size: clamp(5rem, 12vw, 11rem);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.08em;
  color: rgba(20,105,219,.045);
  pointer-events: none;
  user-select: none;
}
.bc-home-page main > section.bc-section-blue[data-scene]::before,
.bc-home-page .bc-video-method[data-scene]::before,
.bc-home-page .bc-final-cta[data-scene]::before {
  color: rgba(255,255,255,.045);
}

.bc-home-page .bc-section-head h2,
.bc-home-page .bc-video-header h2 {
  position: relative;
}
.bc-home-page .bc-section-head h2::after,
.bc-home-page .bc-video-header h2::after {
  content: "";
  display: block;
  width: 78px;
  height: 4px;
  margin-top: 18px;
  border-radius: 999px;
  background: linear-gradient(90deg,#2f6bff,#17a8ff,#22d3ee);
  box-shadow: 0 8px 20px rgba(47,107,255,.18);
}
.bc-home-page .bc-section-head.center h2::after,
.bc-home-page .bc-video-header h2::after { margin-left: auto; margin-right: auto; }
.bc-home-page .bc-section-blue .bc-section-head h2::after,
.bc-home-page .bc-video-method .bc-video-header h2::after {
  background: linear-gradient(90deg,#7cb8ff,#53d9ff,#8ff4ff);
}

/* ---------- Hero: depth without spectacle ---------- */
.bc-home-page .bc-hero {
  min-height: min(860px, calc(100vh - 40px));
  display: flex;
  align-items: center;
}
.bc-home-page .bc-hero::after {
  content: "";
  position: absolute;
  width: clamp(260px,30vw,520px);
  aspect-ratio: 1;
  left: -12vw;
  bottom: -17vw;
  border-radius: 50%;
  background: radial-gradient(circle at 60% 40%,rgba(34,211,238,.12),rgba(47,107,255,.04) 45%,transparent 70%);
  filter: blur(2px);
  pointer-events: none;
}
.bc-home-page .bc-hero-card.bc-visible {
  transform: translate3d(0,var(--bc-hero-shift,0px),0) rotate(var(--bc-hero-tilt,0deg));
  transition: opacity .7s ease, transform .18s linear, box-shadow .25s ease;
}
.bc-home-page .bc-hero-card:hover {
  box-shadow: 0 40px 100px rgba(4,35,69,.34);
}
.bc-home-page .bc-trust-item:nth-child(1){ border-top:3px solid #2f6bff; }
.bc-home-page .bc-trust-item:nth-child(2){ border-top:3px solid #17a8ff; }
.bc-home-page .bc-trust-item:nth-child(3){ border-top:3px solid #22d3ee; }

/* ---------- Contesto: split editorial ---------- */
.bc-home-page #contesto {
  overflow: hidden;
  background:
    radial-gradient(circle at 4% 78%,rgba(34,211,238,.10),transparent 22rem),
    linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
}
.bc-home-page #contesto::after {
  content:"";
  position:absolute;
  right:-130px;
  top:14%;
  width:290px;
  height:540px;
  border-radius:180px;
  background:linear-gradient(180deg,rgba(47,107,255,.06),rgba(34,211,238,.12));
  transform:rotate(16deg);
  z-index:0;
}
.bc-home-page #contesto .bc-number-card {
  background: linear-gradient(145deg,#ffffff 15%,#eef8ff 100%);
  border-color: rgba(47,107,255,.14);
}
.bc-home-page #contesto .bc-number-card .big {
  background: linear-gradient(135deg,#2f6bff,#17a8ff 58%,#22d3ee);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.bc-home-page #contesto .bc-problem {
  position:relative;
  overflow:hidden;
}
.bc-home-page #contesto .bc-problem::after {
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:3px;
  transform:scaleX(0);
  transform-origin:left;
  background:var(--problem-accent,#2f6bff);
  transition:transform .28s ease;
}
.bc-home-page #contesto .bc-problem:hover::after { transform:scaleX(1); }
.bc-home-page #contesto .bc-problem:nth-child(1){ --problem-accent:#2f6bff; }
.bc-home-page #contesto .bc-problem:nth-child(2){ --problem-accent:#17a8ff; }
.bc-home-page #contesto .bc-problem:nth-child(3){ --problem-accent:#22d3ee; }
.bc-home-page #contesto .bc-problem:nth-child(4){ --problem-accent:#6366f1; }

/* ---------- Metodo: dark architectural island ---------- */
.bc-home-page #metodo {
  margin: 0 clamp(10px,2.1vw,34px);
  border-radius: clamp(28px,4vw,54px);
  overflow: hidden;
  box-shadow: 0 36px 100px rgba(4,26,49,.22);
}
.bc-home-page #metodo::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(115deg,transparent 0 47%,rgba(255,255,255,.035) 47.2% 47.5%,transparent 47.7%),
    radial-gradient(circle at 88% 16%,rgba(83,217,255,.12),transparent 19rem);
}
.bc-home-page #metodo .bc-method-card {
  position:relative;
  overflow:hidden;
  backdrop-filter:blur(8px);
}
.bc-home-page #metodo .bc-method-card::before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,#7cb8ff,#53d9ff);
  opacity:.88;
}
@media (min-width:981px){
  .bc-home-page #metodo .bc-method-card:nth-child(2){ transform:translateY(18px); }
  .bc-home-page #metodo .bc-method-card:nth-child(3){ transform:translateY(36px); }
  .bc-home-page.bc-motion-ready #metodo .bc-method-card:nth-child(2):not(.bc-visible){ transform:translateY(48px); }
  .bc-home-page.bc-motion-ready #metodo .bc-method-card:nth-child(3):not(.bc-visible){ transform:translateY(66px); }
  .bc-home-page #metodo .bc-ai-box { margin-top:66px; }
}

/* ---------- Percorso: asymmetric bento ---------- */
.bc-home-page #servizi {
  background:
    radial-gradient(circle at 94% 16%,rgba(99,102,241,.08),transparent 24rem),
    linear-gradient(180deg,#ffffff 0%,#f7fbff 60%,#ffffff 100%);
}
.bc-home-page #servizi .bc-service-card {
  position:relative;
  overflow:hidden;
  border-top:4px solid var(--service-accent,#2f6bff);
}
.bc-home-page #servizi .bc-service-card::before {
  content:"";
  position:absolute;
  width:130px;
  height:130px;
  border-radius:50%;
  right:-65px;
  top:-72px;
  background:var(--service-wash,rgba(47,107,255,.08));
  transition:transform .35s ease;
}
.bc-home-page #servizi .bc-service-card:hover::before { transform:scale(1.22); }
.bc-home-page #servizi .bc-service-card:nth-child(1){ --service-accent:#2f6bff;--service-wash:rgba(47,107,255,.10); }
.bc-home-page #servizi .bc-service-card:nth-child(2){ --service-accent:#17a8ff;--service-wash:rgba(23,168,255,.11); }
.bc-home-page #servizi .bc-service-card:nth-child(3){ --service-accent:#22d3ee;--service-wash:rgba(34,211,238,.12); }
.bc-home-page #servizi .bc-service-card:nth-child(4){ --service-accent:#6366f1;--service-wash:rgba(99,102,241,.10); }
.bc-home-page #servizi .bc-service-card:nth-child(5){ --service-accent:#14b8a6;--service-wash:rgba(20,184,166,.10); }
.bc-home-page #servizi .bc-service-card:nth-child(6){ --service-accent:#4f46e5;--service-wash:rgba(79,70,229,.10); }
.bc-home-page #servizi .bc-service-tag {
  background:color-mix(in srgb,var(--service-accent,#2f6bff) 10%,white);
  color:color-mix(in srgb,var(--service-accent,#2f6bff) 78%,#041a31);
}
@media (min-width:981px){
  .bc-home-page #servizi .bc-services-grid { grid-template-columns:repeat(12,minmax(0,1fr)); gap:22px; }
  .bc-home-page #servizi .bc-service-card:nth-child(1){ grid-column:span 5; }
  .bc-home-page #servizi .bc-service-card:nth-child(2){ grid-column:span 7; }
  .bc-home-page #servizi .bc-service-card:nth-child(3){ grid-column:span 7; }
  .bc-home-page #servizi .bc-service-card:nth-child(4){ grid-column:span 5; }
  .bc-home-page #servizi .bc-service-card:nth-child(5){ grid-column:span 5; }
  .bc-home-page #servizi .bc-service-card:nth-child(6){ grid-column:span 7; }
}

/* ---------- AI architecture: brighter technical scene ---------- */
.bc-home-page #ai-process-integration {
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 18%,rgba(34,211,238,.16),transparent 26rem),
    radial-gradient(circle at 88% 78%,rgba(99,102,241,.10),transparent 26rem),
    linear-gradient(135deg,#eef9ff 0%,#ffffff 48%,#f1f5ff 100%);
}
.bc-home-page #ai-process-integration::after {
  content:"";
  position:absolute;
  z-index:0;
  left:50%;
  top:0;
  width:1px;
  height:100%;
  background:linear-gradient(180deg,transparent,rgba(47,107,255,.16),transparent);
}
.bc-home-page #ai-process-integration .bc-ai-process-item:nth-child(1){ border-bottom:3px solid #2f6bff; }
.bc-home-page #ai-process-integration .bc-ai-process-item:nth-child(2){ border-bottom:3px solid #17a8ff; }
.bc-home-page #ai-process-integration .bc-ai-process-item:nth-child(3){ border-bottom:3px solid #22d3ee; }
.bc-home-page #ai-process-integration .bc-ai-case-card.bc-visible {
  transform:rotate(var(--bc-case-tilt,.6deg));
}

/* ---------- Video: cinematic alternating cards ---------- */
.bc-home-page #metodo-in-pratica {
  margin: 0 clamp(10px,2.1vw,34px);
  border-radius: clamp(28px,4vw,54px);
  overflow:hidden;
  box-shadow:0 30px 90px rgba(4,26,49,.20);
}
.bc-home-page #metodo-in-pratica .bc-video-card {
  border-color:rgba(130,220,255,.18);
  background:rgba(255,255,255,.97);
}
.bc-home-page #metodo-in-pratica .bc-video-frame::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 0 60px rgba(4,26,49,.12);
}
@media (min-width:981px){
  .bc-home-page #metodo-in-pratica .bc-video-card:nth-child(even){ transform:translateY(68px); }
  .bc-home-page #metodo-in-pratica .bc-video-card.bc-visible:nth-child(even){ transform:translateY(34px); }
  .bc-home-page #metodo-in-pratica .bc-video-cta { margin-top:78px; }
}

/* ---------- Consultant: different visual cadence ---------- */
.bc-home-page #consulente {
  background:
    linear-gradient(90deg,rgba(47,107,255,.045) 0 34%,transparent 34% 100%),
    #fff;
}
.bc-home-page #consulente .bc-profile-card {
  background:
    radial-gradient(circle at 90% 5%,rgba(83,217,255,.22),transparent 11rem),
    linear-gradient(155deg,#041a31,#0b4b84);
}
@media (min-width:981px){
  .bc-home-page #consulente .bc-profile-card { position:sticky; top:108px; }
}
.bc-home-page #consulente .bc-rich-copy {
  border-left:5px solid #2f6bff;
}

/* ---------- Results: dark scene with three distinct lights ---------- */
.bc-home-page #risultati {
  overflow:hidden;
}
.bc-home-page #risultati .bc-result-card {
  position:relative;
  overflow:hidden;
}
.bc-home-page #risultati .bc-result-card::before {
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:var(--result-accent,#53d9ff);
}
.bc-home-page #risultati .bc-result-card:nth-child(1){ --result-accent:#7cb8ff; }
.bc-home-page #risultati .bc-result-card:nth-child(2){ --result-accent:#53d9ff; }
.bc-home-page #risultati .bc-result-card:nth-child(3){ --result-accent:#a5b4fc; }

/* ---------- Final CTA ---------- */
.bc-home-page #contatti {
  clip-path:polygon(0 5%,100% 0,100% 100%,0 100%);
  padding-top:clamp(96px,10vw,150px);
}
.bc-home-page #contatti::after {
  content:"";
  position:absolute;
  width:500px;
  height:500px;
  left:50%;
  top:50%;
  border-radius:50%;
  transform:translate(-50%,-50%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 0 0 80px rgba(255,255,255,.018),0 0 0 160px rgba(255,255,255,.012);
  pointer-events:none;
  z-index:0;
}

/* ---------- Reveal directions + stagger ---------- */
.bc-home-page.bc-motion-ready [data-reveal] {
  transition-property:opacity,transform,filter;
  transition-duration:760ms;
  transition-timing-function:cubic-bezier(.2,.72,.25,1);
  transition-delay:var(--bc-delay,0ms);
  filter:blur(5px);
}
.bc-home-page.bc-motion-ready [data-reveal].bc-reveal-left { transform:translate3d(-34px,10px,0); }
.bc-home-page.bc-motion-ready [data-reveal].bc-reveal-right { transform:translate3d(34px,10px,0); }
.bc-home-page.bc-motion-ready [data-reveal].bc-reveal-up { transform:translate3d(0,30px,0); }
.bc-home-page.bc-motion-ready [data-reveal].bc-reveal-zoom { transform:scale(.965) translate3d(0,18px,0); }
.bc-home-page.bc-motion-ready [data-reveal].bc-visible {
  opacity:1;
  transform:translate3d(0,0,0);
  filter:blur(0);
}
.bc-home-page.bc-motion-ready .bc-hero-card.bc-visible {
  transform:translate3d(0,var(--bc-hero-shift,0px),0) rotate(var(--bc-hero-tilt,0deg));
}
.bc-home-page.bc-motion-ready #ai-process-integration .bc-ai-case-card.bc-visible {
  transform:rotate(var(--bc-case-tilt,.6deg));
}

/* Hover depth on pointer devices only */
@media (hover:hover) and (pointer:fine){
  .bc-home-page .bc-service-card:hover,
  .bc-home-page .bc-problem:hover,
  .bc-home-page .bc-method-card:hover,
  .bc-home-page .bc-video-card:hover {
    translate:0 -5px;
  }
}

@media (max-width:1100px){
  .bc-home-page .bc-scroll-rail { display:none; }
}
@media (max-width:760px){
  .bc-home-page .bc-hero { min-height:auto; }
  .bc-home-page #metodo,
  .bc-home-page #metodo-in-pratica { margin-left:8px; margin-right:8px; border-radius:26px; }
  .bc-home-page main > section[data-scene]::before { font-size:5.2rem; right:18px; top:18px; }
  .bc-home-page #contatti { clip-path:none; }
  .bc-home-page #consulente { background:#fff; }
}

@media (prefers-reduced-motion:reduce){
  .bc-home-page .bc-scroll-progress,
  .bc-home-page .bc-scroll-rail { display:none!important; }
  .bc-home-page.bc-motion-ready [data-reveal] { filter:none!important; transform:none!important; transition:none!important; }
  .bc-home-page .bc-hero-card.bc-visible,
  .bc-home-page #ai-process-integration .bc-ai-case-card.bc-visible { transform:none!important; }
}
