.inner-v2 { --font-display: "Montserrat", sans-serif; --font-sans: "Source Sans 3", sans-serif; }
.contact-hero { min-height: auto; padding-block: clamp(3rem, 5vw, 5rem); }
.contact-hero .page-lead { margin-bottom: 0; }
.contact-page { background: #f3f8f7; }
.contact-page .contact-grid { align-items: start; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 2rem; }
.contact-page .form-panel { padding: clamp(1.25rem, 3vw, 2.5rem); }
.contact-page .form-panel-title { margin-bottom: .75rem; }
.inner-v2 .contact-page .contact-form-intro { margin: 0 0 2rem; font-size: 1rem; }
.contact-page .form-stack { gap: 2rem; }
.contact-fieldset { border: 0; padding: 0; margin: 0; min-width: 0; display: grid; gap: 1.25rem; }
.contact-fieldset legend { padding: 0 0 1rem; font-weight: 600; font-size: 1.1rem; color: #006b80; }
.contact-page .form-row-2 { gap: 1.25rem; }
.contact-page .form-stack label { min-width: 0; gap: .5rem; font-size: 1rem; }
.contact-page .form-stack :is(input:not([type=checkbox]), select, textarea) { width: 100%; min-width: 0; box-sizing: border-box; border-radius: .5rem; font-weight: 400; }
.contact-page .form-stack :is(input, select, textarea):focus-visible { outline: 2px solid #007a92; outline-offset: 2px; }
.contact-form-footer { border-top: 1px solid #dfe7e7; padding-top: 1.5rem; display: grid; gap: 1.25rem; }
.contact-form-footer .btn { justify-self: start; }
.contact-page .checkbox-row input { flex-shrink: 0; width: 1rem; height: 1rem; }
.inner-v2 .contact-page .form-note { font-size: .9rem; margin: 0; }
.contact-sidebar { display: grid; gap: 2rem; min-width: 0; }
.contact-page .contact-aside { padding: 2rem; }
.inner-v2 .contact-sidebar h2 { font-size: 1.5rem; margin: 0 0 1.5rem; }
.contact-page .contact-aside dl { gap: 1.25rem; margin: 0; }
.contact-page .contact-aside dd { overflow-wrap: anywhere; }
.contact-page .contact-map { margin: 1.5rem 0 0; }
.contact-next { padding: 0 1rem; }
.contact-next ol { margin: 0; padding-left: 1.25rem; display: grid; gap: 1.25rem; }
.contact-next li { padding-left: .5rem; line-height: 1.6; }
.contact-next strong { display: block; margin-bottom: .25rem; }
@media(max-width: 959px) { .contact-page .contact-grid { align-items: start; grid-template-columns: minmax(0, 1fr); } }
@media(max-width: 539px) { .contact-page .form-row-2 { grid-template-columns: minmax(0, 1fr); } .contact-page .contact-aside { padding: 1.5rem; } }
.inner-v2 :is(h1, h2, h3, h4, h5, h6) { font-family: var(--v2-display); font-weight: 600; max-width: none; letter-spacing: -0.02em; }
.inner-v2 main h2 { font-size: clamp(1.65rem, 3vw, 2.25rem); }
.inner-v2 main p { text-align: left; hyphens: manual; }
.inner-v2 .prose { max-width: none; }
.inner-v2 .wrap.prose { max-width: var(--container-c); }
.inner-v2 .breadcrumb { background: #fff; }
.inner-hero { position: relative; isolation: isolate; background: #0c1216; color: #fff; padding: clamp(4rem, 8vw, 7rem) 0; min-height: 65svh; display: flex; align-items: center; }
.inner-hero-background { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.inner-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(6,12,17,.94), rgba(6,12,17,.78) 55%, rgba(6,12,17,.35)); }
.inner-hero-content { width: 100%; }
.inner-hero h1 { font-size: clamp(2.3rem, 4.8vw, 4.4rem); line-height: 1.08; color: #fff; margin: 0 0 1.5rem; text-wrap: balance; }
.inner-hero .h1-line { display: block; }
/* Fit the longer current product names within the original masthead proportions. */
.inner-hero--product h1 { font-size: clamp(2.3rem, 4.1vw, 3.8rem); }
.inner-hero .page-lead { max-width: 60ch; color: #e1e7eb; font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.65; margin: 0 0 2rem; text-align: left; hyphens: manual; }
/* Preserve editorial reading and the historical context of the archive. */
.inner-hero--article { min-height: auto; padding-block: clamp(2rem, 4vw, 3rem); }
.inner-hero--article h1 { max-width: 32ch; font-size: clamp(1.9rem, 3.3vw, 2.75rem); }
.inner-hero--article .page-lead { max-width: 65ch; }
.inner-v2 .prose > :is(p, ul:not(.insights-list), ol),
.inner-v2 .article-body > :is(p, ul, ol, blockquote) { max-width: 68ch; }
.inner-v2 .article-body { min-width: 0; overflow-wrap: anywhere; }
.inner-v2 .article-archive-note { border-left: 3px solid #b9d4da; padding: .75rem 1rem; background: #f4f6f3; font-size: .95rem; }
.contact-hero a { color: #fff; text-decoration: underline; text-underline-offset: .15em; }
.contact-hero > .wrap > p:last-child { margin-top: 1.25rem; color: #e1e7eb; }
.inner-v2 .btn { border-radius: .4rem; font-family: var(--v2-sans); min-height: 2.85rem; padding: .65rem 1.25rem; }
.inner-v2 .btn-primary { background: #007a92; color: #fff; border-color: #007a92; }
.inner-v2 .btn-primary:hover { background: #006477; }
.inner-hero .btn-outline-cyan { background: rgba(8,18,24,.5); color: #fff; border-color: #abb7bf; }
.inner-v2 :is(a, button):focus-visible { outline: 3px solid #007a92; outline-offset: 4px; }
.inner-hero :is(a, button):focus-visible { outline-color: #fff; }
.inner-product-logo { background: #fff; border-radius: 1.25rem; padding: 2rem; height: 15rem; display: grid; place-items: center; }
.inner-product-logo img { width: 100%; height: 100%; max-height: 11rem; object-fit: contain; }
.inner-product-logo--dark { background: #0c1929; }
.inner-v2 :is(.chapter, .page-body, .section-roles, .section-feature-strip) { padding: clamp(2.5rem, 5vw, 4rem) 0; }
.inner-v2 .chapter:nth-of-type(odd) { background: #f3f8f7; }
.inner-v2 .chapter p, .inner-v2 .page-body p { font-size: 1.075rem; line-height: 1.7; }
.inner-v2 :is(.card-grid, .role-grid) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; align-items: stretch; }
.inner-v2 :is(.hub-card, .role-card, .form-panel, .contact-aside, .contact-block) { border: 1px solid #dfe7e7; border-radius: 1.25rem; background: #fff; box-shadow: 0 12px 30px rgba(20,30,40,.04); }
.inner-v2 .hub-card { display: flex; flex-direction: column; padding: 1.5rem; border-top: 4px solid #00badc; }
.inner-v2 .hub-card:nth-child(4n+2) { border-top-color: #fcb530; }
.inner-v2 .hub-card:nth-child(4n+3) { border-top-color: #f27464; }
.inner-v2 .hub-card:nth-child(4n+4) { border-top-color: #8cc63e; }
.inner-v2 .hub-card p { flex: 1; }
.inner-v2 .hub-card form { margin-top: auto; }
.inner-v2 button { font-family: inherit; cursor: pointer; }
.inner-v2 .related { background: #f3f8f7; border: 1px solid #dfe7e7; border-radius: 1.25rem; padding: 1.5rem; }
.inner-v2 .related ul { display: flex; flex-wrap: wrap; gap: .75rem; list-style: none; padding: 0; }
.inner-v2 .related a { display: inline-flex; padding: .65rem 1rem; border: 1px solid #b9d4da; border-radius: .4rem; background: #fff; color: #006b80; text-decoration: none; }
.inner-v2 .insights-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; list-style: none; padding: 0; }
.inner-v2 .insights-list li { margin: 0; padding: 0; overflow: hidden; display: flex; flex-direction: column; border: 1px solid #dfe7e7; border-top: 4px solid #00badc; border-radius: 1rem; background: #f3f8f7; }
.inner-v2 .insights-card { display: flex; flex-direction: column; flex: 1; color: inherit; text-decoration: none; }
.inner-v2 .insights-card img { display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: cover; background: #fff; }
.inner-v2 .insights-card-body { display: flex; flex-direction: column; gap: .65rem; flex: 1; padding: 1.15rem 1.35rem 1.35rem; }
.inner-v2 .insights-list time { display: block; color: #5c5c60; margin: 0; }
.inner-v2 .insights-card-title { font-family: var(--v2-display); font-weight: 600; font-size: 1.25rem; line-height: 1.3; color: #1a1a1c; }
.inner-v2 .insights-card:hover .insights-card-title { color: #007a92; }
.inner-v2 .product-media img, .inner-v2 .role-card img { border-radius: .75rem; }
.inner-v2 .prose table { display: block; max-width: 100%; overflow-x: auto; }
.inner-v2 pre { overflow-x: auto; max-width: 100%; }
.inner-v2 .error-page { min-height: 65svh; padding-block: 5rem; }
@media(min-width: 960px) { .inner-hero--product .inner-hero-content { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 3rem; align-items: center; } }
@media(max-width: 959px) { .inner-product-logo { margin-top: 2rem; max-width: 28rem; } }
@media(max-width: 719px) { .inner-v2 :is(.card-grid, .role-grid, .insights-list) { grid-template-columns: minmax(0,1fr); } .inner-hero { min-height: auto; padding: 3.5rem 0; } .page-azienda .inner-hero { min-height: auto; } .page-azienda .inner-hero h1 { font-size: 2rem; } .inner-hero-background { object-position: 65% center; } }

/* Shaka: visual identity taken from the product's login screen. */
.inner-hero--shaka {
  min-height: 75svh;
  background: radial-gradient(ellipse at 8% 20%, #1a326c 0, transparent 48%), radial-gradient(ellipse at 80% 90%, #321b26 0, transparent 52%), #0b0f1b;
  padding-block: clamp(3.5rem, 7vw, 6rem);
}
.inner-hero--shaka::before { display: none; }
.inner-hero--shaka .inner-hero-content { gap: clamp(2rem, 4vw, 4rem); }
.inner-hero--shaka .inner-product-logo {
  order: -1;
  height: auto;
  width: 100%;
  max-width: 29rem;
  padding: 0;
  margin: 0 auto;
  background: transparent;
  border-radius: 0;
}
.inner-hero--shaka .inner-product-logo img { width: 100%; height: auto; max-height: none; }
.inner-hero--shaka h1 { font-size: clamp(2.3rem, 4vw, 3.6rem); }
.inner-hero--shaka .page-lead { font-size: clamp(1.05rem, 1.4vw, 1.2rem); }
.inner-hero--shaka .btn-primary { background: #bb3d29; border-color: #bb3d29; }
.inner-hero--shaka .btn-primary:hover { background: #a43120; }
.shaka-evidence-grid { display: grid; gap: 2.5rem; align-items: center; }
.shaka-product-capture { margin: 0; padding: 1rem; border-radius: 1.25rem; background: #0b0f1b; box-shadow: 0 22px 50px rgba(11,15,27,.15); }
.shaka-product-capture img { display: block; width: 100%; height: auto; border-radius: .5rem; }
@media(min-width: 960px) {
  .inner-hero--shaka.inner-hero--product .inner-hero-content { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); }
  .shaka-evidence-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width: 959px) {
  .inner-hero--shaka .inner-hero-content { display: flex; flex-direction: column; }
  .inner-hero--shaka .inner-product-logo { max-width: 22rem; }
}

.shaka-evidence > .wrap > h2 { margin-bottom: 2rem; }
.shaka-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; margin-top: 2rem; }
.shaka-screen { margin: 0; overflow: hidden; border: 1px solid #dfe7e7; border-radius: 1.25rem; background: #fff; display: flex; flex-direction: column; }
.shaka-screen--wide { grid-column: 1 / -1; }
.shaka-screen-media { background: #0b0f1b; padding: clamp(1rem, 2vw, 2rem); height: 36rem; display: grid; place-items: center; }
.shaka-screen-media img { display: block; width: 100%; height: 100%; object-fit: contain; min-height: 0; }
.shaka-screen--wide .shaka-screen-media { height: auto; }
.shaka-screen--wide .shaka-screen-media img { height: auto; }
.shaka-screen figcaption { padding: 1.5rem; display: flex; flex-direction: column; align-items: flex-start; flex: 1; }
.shaka-screen figcaption h3 { margin: 0; }
.shaka-screen figcaption p { flex: 1; }
.shaka-image-dialog { width: min(76rem, calc(100% - 2rem)); max-height: 94svh; padding: 1rem; border: 1px solid #344056; border-radius: 1rem; background: #0b0f1b; color: #fff; }
.shaka-image-dialog::backdrop { background: rgba(3, 7, 16, .85); }
.shaka-dialog-bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.shaka-dialog-bar h2 { margin: 0; font-size: 1.2rem; }
.shaka-dialog-bar button { background: #fff; color: #0b0f1b; }
.shaka-image-dialog > img { display: block; width: 100%; max-height: 76svh; object-fit: contain; }
@media(max-width: 719px) {
  .shaka-gallery { grid-template-columns: minmax(0, 1fr); }
  .shaka-screen-media { height: auto; }
  .shaka-screen-media img { height: auto; }
}

.inner-v2 .article-date { color: #5c5c60; margin: 0 0 1.25rem; text-align: left; hyphens: manual; }
.inner-v2 .insights-list p { margin: auto 0 0; color: #5c5c60; text-align: left; hyphens: manual; }
.inner-v2 .article-body img { display: block; max-width: 100%; height: auto; border-radius: .75rem; margin: .5rem 0 1.25rem; }
.inner-v2 .article-body pre,
.inner-v2 .article-body code { text-align: left; hyphens: manual; }
.inner-v2 .article-body pre { background: #12141c; color: #e7eef2; padding: 1rem 1.15rem; border-radius: .75rem; overflow-x: auto; margin: 0 0 1.25rem; }
.inner-v2 .article-body :is(h2, h3, h4, h5) { margin: 1.75rem 0 .75rem; }
.inner-v2 .article-body iframe,
.inner-v2 .article-body video { max-width: 100%; }

.inner-v2 .v2-section-head p { text-align: left; hyphens: manual; }
.inner-v2 .v2-section-head p + p { margin-top: .85rem; }
.inner-v2 .v2-flow-step { height: 100%; }
.inner-v2 .v2-section--method .v2-section-head p,
.inner-v2 .v2-flow-step p { text-align: left; hyphens: manual; }
.page-azienda .inner-hero { min-height: calc(100svh - 5rem); }
.page-azienda .inner-hero::before { background: linear-gradient(90deg, rgba(6,12,17,.9), rgba(6,12,17,.52) 40%, rgba(6,12,17,.1)); }
.page-azienda .inner-hero-background { object-position: 70% center; }
.page-azienda .inner-hero h1 { font-size: clamp(2.6rem, 5vw, 4.5rem); line-height: 1.04; max-width: 12em; }
.page-azienda .inner-hero .page-lead { white-space: pre-line; max-width: 34rem; font-size: clamp(1.1rem, 1.5vw, 1.28rem); }
.az-essay { background: #fff; }
.az-mark { display: flex; width: 7.5rem; height: 6px; margin: 0 0 1.35rem; border-radius: 999px; overflow: hidden; }
.az-mark span { flex: 1; }
.az-mark span:nth-child(1) { background: #f27464; }
.az-mark span:nth-child(2) { background: #00badc; }
.az-mark span:nth-child(3) { background: #fcb530; }
.az-mark span:nth-child(4) { background: #8cc63e; }
.page-azienda .az-essay h2 { margin: 0 0 1.15rem; font-size: clamp(2rem, 3.6vw, 2.9rem); line-height: 1.12; }
.inner-v2 .az-dek { margin: 0; max-width: 40rem; font-size: 1.28rem; line-height: 1.5; color: #1a1a1c; text-align: left; hyphens: manual; }
.az-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 2.75rem; border-top: 1px solid #e5e7e3; }
.az-col { min-width: 0; padding: 2rem 2.75rem 0 0; }
.az-col + .az-col { padding: 2rem 0 0 2.75rem; border-left: 1px solid #e5e7e3; }
.inner-v2 .az-col h3 { margin: 0 0 1rem; font-size: 1.45rem; line-height: 1.25; }
.inner-v2 .az-col p { margin: 0 0 1.1rem; font-size: 1.075rem; line-height: 1.7; text-align: left; hyphens: manual; }
.inner-v2 .az-col p:last-child { margin-bottom: 0; }
.azienda-sede { background: #f4f6f3; }
.azienda-facts { display: grid; grid-template-columns: 1.15fr .85fr; gap: 1.25rem; align-items: stretch; }
.azienda-fact { position: relative; overflow: hidden; background: #f4f6f3; border: 1px solid #e5e7e3; border-radius: 1.25rem; padding: 1.75rem 1.75rem 1.75rem 2rem; }
.azienda-fact::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: #007a92; }
.azienda-fact:last-child::before { background: #8cc63e; }
.inner-v2 .azienda-fact h2 { margin: 0 0 1rem; font-size: 1.5rem; }
.inner-v2 .azienda-fact p,
.inner-v2 .azienda-fact dd { text-align: left; hyphens: manual; }
.azienda-fact p { margin: 0 0 .85rem; }
.azienda-fact a { color: #007a92; }
.azienda-fact dl { display: grid; gap: 1rem; margin: 0; }
.azienda-fact dt { font-size: .75rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #5c5c60; }
.azienda-fact dd { margin: .2rem 0 0; }
@media (max-width: 719px) {
  .page-azienda .inner-hero { min-height: auto; }
  .page-azienda .inner-hero h1 { font-size: 2rem; max-width: none; }
  .inner-v2 .az-col p { text-align: left; hyphens: manual; }
  .page-azienda .inner-hero::before { background: linear-gradient(90deg, rgba(6,12,17,.9), rgba(6,12,17,.72)); }
  .az-columns,
  .azienda-facts { grid-template-columns: minmax(0, 1fr); }
  .az-col,
  .az-col + .az-col { padding: 1.75rem 0 0; border-left: 0; }
  .az-col + .az-col { border-top: 1px solid #e5e7e3; margin-top: 1.75rem; }
}

@media (max-width: 359px) {
  .inner-hero:not(.inner-hero--article) h1 { font-size: clamp(1.875rem, 10vw, 2.25rem); }
}
