/* Buildingcase 2026 — pagine interne, override di specificita' sul portale, movimento ridotto. */

/* ------------------------------------------------------------ hero interne */
.bc-phero { position: relative; isolation: isolate; overflow: hidden; padding: 130px 0 120px; background: linear-gradient(135deg, var(--bc-deep) 0%, var(--bc-blue) 100%); }
@media (min-width: 1040px) { .bc-phero { padding: 150px 0 130px; } }
.bc-phero-inner { position: relative; z-index: 2; }
.bc-ghost { position: absolute; z-index: 1; right: -2%; bottom: 10%; font: 700 clamp(6rem, 2rem + 22vw, 20rem) / 0.8 var(--bc-sans); letter-spacing: -0.05em; color: transparent; -webkit-text-stroke: 2px rgba(255, 255, 255, 0.16); -webkit-text-fill-color: transparent; white-space: nowrap; pointer-events: none; }
.bc-skyline { position: absolute; z-index: 1; left: 0; right: 0; bottom: -1px; height: 70px; background: var(--bc-paper);
  clip-path: polygon(0 100%, 0 60%, 6% 60%, 6% 30%, 11% 30%, 11% 55%, 17% 55%, 17% 15%, 23% 15%, 23% 50%, 30% 50%, 30% 35%, 36% 35%, 36% 62%, 44% 62%, 44% 20%, 50% 20%, 50% 55%, 58% 55%, 58% 38%, 64% 38%, 64% 60%, 72% 60%, 72% 10%, 78% 10%, 78% 48%, 85% 48%, 85% 32%, 91% 32%, 91% 58%, 100% 58%, 100% 100%); }

/* chi siamo */
.bc-story { padding: 70px 0 30px; }
.bc-story-grid { display: grid; gap: 30px; align-items: center; }
.bc-story-num span { display: block; font: 700 clamp(6rem, 3rem + 16vw, 14rem) / 0.85 var(--bc-sans); letter-spacing: -0.05em; color: transparent; -webkit-text-stroke: 3px var(--bc-blue); -webkit-text-fill-color: transparent; }
.bc-prose p { margin: 0 0 18px; font: 400 1.1rem/1.85 var(--bc-sans); --ink: #55607a; }
@media (min-width: 900px) { .bc-story-grid { grid-template-columns: 0.9fr 1.1fr; gap: 70px; } }
.bc-pillars { padding: 40px 0 80px; }
.bc-pillars-grid { display: grid; gap: 16px; }
.bc-pillars article { position: relative; padding: 32px 28px; background: #fff; border-top: 5px solid var(--bc-blue); box-shadow: 0 12px 34px rgba(20, 48, 110, 0.08); transition: transform 0.5s var(--bc-ease), border-color 0.3s; }
.bc-pillars article:hover { transform: translateY(-6px); border-top-color: var(--bc-red); }
.bc-pillar-n { font: 700 0.85rem/1 var(--bc-sans); letter-spacing: 0.14em; --ink: #e91d25; }
.bc-pillars h3 { margin: 12px 0 10px; font: 700 1.5rem/1.2 var(--bc-sans); --ink: #14306e; --ink-strong: #14306e; }
.bc-pillars p { margin: 0; font: 400 1rem/1.7 var(--bc-sans); --ink: #55607a; }
@media (min-width: 800px) { .bc-pillars-grid { grid-template-columns: repeat(3, 1fr); gap: 24px; } }
.bc-sede--mini { padding: 70px 0; }

/* servizi */
.bc-svc { padding: 70px 0; }
.bc-svc-grid { display: grid; gap: 22px; }
.bc-svc-col { padding: 34px 24px; background: #fff; box-shadow: 0 12px 34px rgba(20, 48, 110, 0.08); }
.bc-svc-col--blue { background: var(--bc-blue); }
.bc-list { display: grid; gap: 0; margin: 22px 0 0; padding: 0; list-style: none; }
.bc-list li { display: flex; gap: 18px; padding: 20px 0; border-top: 1px solid var(--bc-line); }
.bc-svc-col--blue .bc-list li { border-top-color: rgba(255, 255, 255, 0.25); }
.bc-list-n { flex: 0 0 auto; width: 44px; font: 700 1.6rem/1 var(--bc-sans); color: transparent; -webkit-text-stroke: 1.5px var(--bc-red); -webkit-text-fill-color: transparent; }
.bc-list h3 { margin: 0 0 6px; font: 700 1.15rem/1.3 var(--bc-sans); --ink: #14306e; --ink-strong: #14306e; }
.bc-list p { margin: 0; font: 400 0.98rem/1.65 var(--bc-sans); --ink: #55607a; }
.bc-svc-col--blue .bc-list h3 { --ink: #fff; --ink-strong: #fff; }
.bc-svc-col--blue .bc-list p { --ink: #dbe5fb; }
.bc-svc-col--blue .bc-btn { margin-top: 26px; }
@media (min-width: 960px) { .bc-svc-grid { grid-template-columns: 1fr 1fr; gap: 28px; } .bc-svc-col { padding: 46px; } }

/* vendi: torre a piani */
.bc-tower-sec { padding: 70px 0; }
.bc-tower-grid { display: grid; gap: 34px; }
.bc-floors { --p: 0; display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; counter-reset: floor; }
.bc-floors li { display: flex; align-items: center; gap: 20px; padding: 22px 22px; background: #e8ecf5; border-left: 8px solid #c3cde4; transform: translateX(-14px); opacity: 0.55; transition: background 0.6s var(--bc-ease), border-color 0.6s, transform 0.7s var(--bc-ease), opacity 0.6s; }
.bc-floors li.is-on { background: #fff; border-left-color: var(--bc-red); transform: none; opacity: 1; box-shadow: 0 12px 30px rgba(20, 48, 110, 0.1); }
.bc-floor-n { flex: 0 0 auto; display: grid; place-items: center; width: 50px; height: 50px; background: var(--bc-blue); font: 700 1.3rem/1 var(--bc-sans); --ink: #fff; }
.bc-floors li.is-on .bc-floor-n { background: var(--bc-red); }
.bc-floors h3 { margin: 0 0 4px; font: 700 1.2rem/1.2 var(--bc-sans); --ink: #14306e; --ink-strong: #14306e; }
.bc-floors p { margin: 0; font: 400 0.98rem/1.6 var(--bc-sans); --ink: #55607a; }
@media (min-width: 960px) { .bc-tower-grid { grid-template-columns: 0.8fr 1.2fr; gap: 70px; align-items: start; } .bc-tower-side { position: sticky; top: 100px; } }

/* contatti */
.bc-contact { padding: 60px 0 90px; }
.bc-contact-grid { display: grid; gap: 22px; }
.bc-ccards { display: grid; gap: 14px; align-content: start; }
.bc-ccard { display: grid; gap: 6px; padding: 24px; background: #fff; border-left: 6px solid var(--bc-blue); box-shadow: 0 12px 34px rgba(20, 48, 110, 0.08); text-decoration: none; transition: transform 0.4s var(--bc-ease), border-color 0.3s; }
.bc-ccard:hover { transform: translateX(6px); border-left-color: var(--bc-red); }
.bc-ccard .bc-ico { width: 28px; height: 28px; color: var(--bc-red); margin-bottom: 6px; }
.bc-ccard span { font: 700 0.72rem/1 var(--bc-sans); letter-spacing: 0.16em; text-transform: uppercase; --ink: #55607a; }
.bc-ccard strong { font: 700 1.2rem/1.3 var(--bc-sans); word-break: break-word; --ink: #14306e; --ink-strong: #14306e; }
.bc-ccard--red { background: var(--bc-red); border-left-color: var(--bc-red-d); }
.bc-ccard--red .bc-ico { color: #fff; }
.bc-ccard--red span, .bc-ccard--red strong { --ink: #fff; --ink-strong: #fff; }
.bc-office { position: relative; isolation: isolate; overflow: hidden; padding: 38px; background: var(--bc-deep); }
.bc-office > :not(.bc-grid) { position: relative; z-index: 1; }
.bc-office address { display: flex; gap: 12px; margin: 0 0 24px; font: 700 1.2rem/1.6 var(--bc-sans); font-style: normal; }
.bc-office-vat { margin: 22px 0 0; font: 400 0.85rem/1 var(--bc-sans); --ink: #aab8dc; }
@media (min-width: 900px) { .bc-contact-grid { grid-template-columns: 1.1fr 0.9fr; gap: 28px; } .bc-ccards { grid-template-columns: 1fr 1fr; } }

/* ------------------------------------------------------------ specificita': il portale impone colori con !important */
html:not(#_):not(#_) body[data-bc-page] main.page { padding: 0 !important; margin: 0 !important; background: var(--bc-paper) !important; }
html:not(#_):not(#_) body[data-bc-page] main.page > .container { max-width: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
body[data-bc-page] .agency-minisite-breadcrumb { display: none; }

html:not(#_):not(#_) body[data-ms-layout="buildingcase2026"] :is(a.bc-btn--red, a.bc-btn--blue, a.bc-btn--line, button.bc-btn, .bc-btn--red span, .bc-btn--blue span, .bc-btn--line span, .bc-menu-nav a, .bc-menu-back, .bc-brand-text b, .bc-fab, .bc-rail-call, .bc-rail-call span, .bc-footer a, .bc-ccard--red, .bc-footer-bottom span) { color: #fff !important; }
html:not(#_):not(#_) body[data-ms-layout="buildingcase2026"] :is(a.bc-btn--white, a.bc-btn--white span, a.bc-btn--outline, a.bc-btn--outline span) { color: var(--bc-deep) !important; }
html:not(#_):not(#_) body[data-ms-layout="buildingcase2026"] :is(a.bc-btn--outline:hover, a.bc-btn--outline:hover span) { color: #fff !important; }
html:not(#_):not(#_) body[data-ms-layout="buildingcase2026"] :is(a.bc-btn--line:hover, a.bc-btn--line:hover span) { color: var(--bc-deep) !important; }
html:not(#_):not(#_) body[data-ms-layout="buildingcase2026"] :is(.bc-cta a.bc-btn--white:hover, .bc-cta a.bc-btn--white:hover span) { color: #fff !important; }
html:not(#_):not(#_) body[data-ms-layout="buildingcase2026"] .bc-nav a, .bc-rail-back, .bc-rail-back span { color: #c7d3f0 !important; }
html:not(#_):not(#_) body[data-ms-layout="buildingcase2026"] :is(.bc-nav a:hover, .bc-nav a.is-active) { color: #fff !important; }
html:not(#_):not(#_) body[data-ms-layout="buildingcase2026"] :is(.bc-listing, .bc-ccard:not(.bc-ccard--red)) { color: var(--bc-ink) !important; }
html:not(#_):not(#_) body[data-ms-layout="buildingcase2026"] footer.bc-footer { background: var(--bc-night) !important; background-image: none !important; border: 0 !important; box-shadow: none !important; }
html:not(#_):not(#_) body[data-ms-layout="buildingcase2026"] footer.bc-footer h3 { color: #ffb0b4 !important; }
html:not(#_):not(#_) body[data-ms-layout="buildingcase2026"] .bc-footer a:hover { color: #ffb0b4 !important; }
html:not(#_):not(#_) body[data-ms-layout="buildingcase2026"] :is(.bc-field input, .bc-field select) { width: 100%; min-height: 0 !important; height: auto !important; padding: 4px 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; outline: 0; font: 700 1rem/1.3 var(--bc-sans); color: #fff !important; -webkit-text-fill-color: #fff; }
html:not(#_):not(#_) body[data-ms-layout="buildingcase2026"] .bc-field input::placeholder { color: rgba(255, 255, 255, 0.6) !important; -webkit-text-fill-color: rgba(255, 255, 255, 0.6); }
html:not(#_):not(#_) body[data-ms-layout="buildingcase2026"] .bc-field select option { color: #1b2438; background: #fff; }
html:not(#_):not(#_) body[data-ms-layout="buildingcase2026"] .bc-field > span { color: #ffb0b4 !important; }
body[data-ms-layout="buildingcase2026"] .btn-primary, body[data-ms-layout="buildingcase2026"] .btn.btn-primary { background: var(--bc-blue); border-color: var(--bc-blue); }

/* ------------------------------------------------------------ movimento ridotto */
@media (prefers-reduced-motion: reduce) {
  body[data-ms-layout="buildingcase2026"] *, body[data-ms-layout="buildingcase2026"] *::before, body[data-ms-layout="buildingcase2026"] *::after {
    animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; animation-delay: 0ms !important;
    transition-duration: 0.001ms !important; transition-delay: 0ms !important; scroll-behavior: auto !important;
  }
  .bc-js [data-reveal], .bc-js [data-split] .bc-w > span { opacity: 1 !important; transform: none !important; }
  .bc-ticker-row { flex-wrap: wrap; width: auto; justify-content: center; }
  .bc-floors li { opacity: 1; transform: none; }
}
@media print { .bc-header, .bc-menu, .bc-fab, .bc-ticker, .bc-city { display: none !important; } }
