/* Homepage editorial system. Hero geometry and motion remain in hero.css. */
.home-content {
 --pl-navy:#081a30; --pl-muted:#45566e; --pl-border:#dde4ee; --pl-ice:#f7f9fc; --pl-action:#6d47ff;
 --pl-section-space:80px;
 position:relative; z-index:2; margin-top:clamp(-144px,calc(-12vh - 24px),-112px); padding:0;
 color:var(--pl-navy); font-family:'Source Sans 3',sans-serif;
}
.home-content > .elementor > .e-con { --container-max-width:1200px; width:100%; max-width:none; margin-inline:0; }
.home-content > .elementor > .e-con > .e-con-inner { width:100%; max-width:1200px; margin-inline:auto; padding:0; }
.home-content :is(.elementor-heading-title,.elementor-widget-text-editor,.elementor-button) { font-family:'Source Sans 3',sans-serif; }
.home-content .elementor-widget-heading .elementor-heading-title {
 font-family:'Source Sans 3',sans-serif; color:var(--pl-navy); font-weight:600; letter-spacing:-.025em; text-transform:none;
 text-shadow:none; animation:none; line-height:1.15;
}
.home-content h2.elementor-heading-title { font-size:clamp(32px,3.4vw,48px); }
.home-content h3.elementor-heading-title { font-size:clamp(24px,2vw,29px); }
.home-content .elementor-widget-text-editor p { margin:0; color:var(--pl-muted); font-family:'Source Sans 3',sans-serif; font-size:18px; font-weight:400; line-height:1.65; }
.home-content .elementor-widget-divider { display:none; }

/* An open introduction sharing the hero's navy field. */
.home-content .PL-section1 { padding:20px 32px 96px; color:#f7f9fc; }
.home-content .PL-section1 > .e-con-inner { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr); gap:24px 72px; align-items:start; }
.home-content .PL-section1 .pl-home-intro-message { grid-column:1; grid-row:1 / span 2; display:flex; flex-direction:column; gap:20px; padding:0; text-align:left; }
.home-content .PL-section1 .elementor-heading-title { color:#f7f9fc; }
.home-content .PL-section1 .pl-home-intro-copy { grid-column:2; grid-row:1; }
.home-content .PL-section1 .pl-home-intro-copy p {
 max-width:none; margin:0; color:#c3d1e2; font-size:clamp(20px,1.65vw,24px); line-height:1.65;
 text-align:left; opacity:1; transform:none; transition:none; will-change:auto;
}
.home-content .PL-section1 .pl-home-cta { grid-column:2; grid-row:2; text-align:left; }

/* A single button language for the editorial homepage. */
.home-content .elementor-widget-button .elementor-button {
 display:inline-flex; align-items:center; justify-content:center; min-height:46px; margin-top:0; font-family:'Source Sans 3',sans-serif;
 padding:12px 18px !important; border:1px solid var(--pl-action) !important; border-radius:8px !important;
 background:var(--pl-action) !important; color:#fff !important; font-size:17px !important; font-weight:600 !important;
 letter-spacing:0 !important; text-transform:none; text-decoration:none; line-height:1.25; box-shadow:none;
 transition:background-color 180ms ease,border-color 180ms ease;
}
.home-content .elementor-widget-button .elementor-button:hover { background:#5b35ed !important; border-color:#5b35ed !important; transform:none; box-shadow:none; }
.home-content .elementor-button:focus-visible { outline:3px solid #8c6eff; outline-offset:4px; }

/* Application areas, illustrated through data and prediction. */
.home-content .PL-section3 { padding:var(--pl-section-space) 32px; background:var(--pl-ice); }
.home-content .PL-section3 > .e-con-inner { gap:22px; }
.home-content .PL-section3 > .e-con-inner > .elementor-widget-heading { max-width:760px; text-align:left; }
.home-content .PL-section3 > .e-con-inner > .elementor-widget-text-editor { max-width:780px; text-align:left; }
.home-content .pl-application-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:24px; padding:0; }
.home-content .pl-application {
 min-width:0; display:flex; flex-direction:column; align-items:stretch; gap:18px; padding:24px;
 border:1px solid var(--pl-border); border-radius:16px; background:#fff; box-shadow:none; transform:none;
 text-align:left; transition:border-color 180ms ease;
}
.home-content .pl-application:hover { border-color:#b9a8f7; box-shadow:none; transform:none; }
.home-content .pl-application .elementor-heading-title { color:var(--pl-navy); text-align:left; }
.home-content .pl-application .elementor-widget-text-editor { text-align:left; }
.home-content .pl-application .elementor-widget-button { margin-top:auto; padding-top:8px; text-align:left; }
.home-content .pl-application .elementor-button { width:100%; background:#fff !important; border-color:var(--pl-border) !important; color:var(--pl-navy) !important; font-size:16px !important; }
.home-content .pl-application .elementor-button:hover { background:#f4f0ff !important; border-color:#8c6eff !important; }
/* The original three animations remain together in the method section. */
.home-content .pl-home-method { padding:var(--pl-section-space) 32px; margin-block-start:0; background:#fff; }
.home-content .pl-home-method > .e-con-inner { gap:40px; }
.home-content .pl-home-method > .e-con-inner > .elementor-widget-heading { text-align:left; }
.home-content .PL-section2 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:0; width:100%; }
.home-content .PL-section2 > .e-con { width:100%; min-width:0; max-width:none; gap:18px; padding:0; align-items:stretch; }
.home-content .PL-section2 :is(.elementor-widget-heading,.elementor-widget-text-editor) { text-align:left; }
.home-content .pl-home-method .PL-section2 .elementor-widget-heading .elementor-heading-title { color:var(--pl-navy); }
.home-content .pl-home-method :is(#modelli-su-misura,#precisione,#fit-lavoro) { width:100%; height:160px; min-height:160px; padding:16px; margin-bottom:8px; border-radius:8px; background:var(--pl-ice); }
.home-content .pl-home-method .pl-home-cta { text-align:left; }

/* Closing action, with the same typography and restrained styling. */
.home-content .PL-section4 { margin:0; padding:var(--pl-section-space) 32px; background:#081a30; color:#f7f9fc; }
.home-content .PL-section4 > .e-con-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:20px 48px; text-align:left; }
.home-content .PL-section4 > .e-con-inner > :is(.elementor-widget-image,.elementor-widget-heading,.elementor-widget-text-editor) { grid-column:1; }
.home-content .PL-section4 .elementor-heading-title { color:#f7f9fc; }
.home-content .PL-section4 .elementor-heading-title::after { content:none; }
.home-content .PL-section4 .elementor-widget-text-editor { max-width:700px; text-align:left; }
.home-content .PL-section4 .elementor-widget-text-editor p { color:#c3d1e2; font-size:20px; }
.home-content .PL-section4 > .e-con-inner > .elementor-widget-image { width:56px; }
.home-content .PL-section4 .pl-home-cta { grid-column:2; grid-row:2 / span 2; align-self:center; text-align:left; }
body.home :is(.nav__link,.site-footer,.site-footer .widget) { font-family:'Source Sans 3',sans-serif; }

@media(max-width:1100px) {
 .home-content .PL-section1 > .e-con-inner { gap:24px 40px; }
 .home-content .pl-application { padding:20px; }
 .home-content .pl-application-grid { gap:16px; }
}
@media(max-width:900px) {
 /* Start the introduction 68px below the unchanged mobile brand/tagline. */
 .home-content { --pl-section-space:64px; margin-top:calc(var(--pl-mobile-brand-top) + var(--pl-mobile-prediction-size) * var(--pl-wordmark-lab-ratio) + var(--pl-mobile-rule-gap) + 2px + 12px + var(--pl-mobile-tagline-size) * 1.3 + 48px - var(--pl-mobile-hero-height)); }
 .home-content .PL-section1 { padding-bottom:72px; }
 .home-content .PL-section1 > .e-con-inner { grid-template-columns:1fr; gap:24px; }
 .home-content .PL-section1 .pl-home-intro-message { grid-column:1; grid-row:1; }
 .home-content .PL-section1 .pl-home-intro-copy { grid-column:1; grid-row:2; }
 .home-content .PL-section1 .pl-home-cta { grid-column:1; grid-row:3; }
 .home-content .pl-application-grid { grid-template-columns:1fr; gap:24px; }
 .home-content .pl-application { padding:28px; }
 .home-content .pl-application { display:grid; grid-template-columns:200px minmax(0,1fr); gap:16px 24px; }
 .home-content .pl-application > .elementor-widget-shortcode { grid-column:1; grid-row:1 / span 3; align-self:center; }
 .home-content .pl-application > :is(.elementor-widget-heading,.elementor-widget-text-editor,.elementor-widget-button) { grid-column:2; }
 .home-content .PL-section2 { grid-template-columns:1fr; gap:40px; }
 .home-content .PL-section2 > .e-con { display:grid; grid-template-columns:200px minmax(0,1fr); gap:16px 24px; }
 .home-content .PL-section2 > .e-con > :is(#modelli-su-misura,#precisione,#fit-lavoro) { grid-column:1; grid-row:1 / span 2; margin:0; }
 .home-content .PL-section2 > .e-con > :is(.elementor-widget-heading,.elementor-widget-text-editor) { grid-column:2; }
 .home-content .pl-home-method :is(#modelli-su-misura,#precisione,#fit-lavoro) { max-width:420px; }
 .home-content .PL-section4 > .e-con-inner { display:flex; flex-direction:column; gap:24px; }
 .home-content .PL-section4 .pl-home-cta { align-self:flex-start; }
}
@media(max-width:600px) {
 .home-content { --pl-section-space:56px; }
 .home-content :is(.PL-section1,.PL-section3,.pl-home-method,.PL-section4) { padding-inline:24px; }
 .home-content :is(.PL-section3,.pl-home-method,.PL-section4) { padding-block:56px; }
 .home-content .PL-section1 .pl-home-intro-copy p { font-size:20px; line-height:1.6; }
 .home-content .pl-application { padding:22px; }
 .home-content .pl-application,.home-content .PL-section2 > .e-con { display:flex; flex-direction:column; gap:18px; }
 .home-content .elementor-widget-button .elementor-button { max-width:100%; }
}
@media(prefers-reduced-motion:reduce) {
 .home-content .pl-application,.home-content .elementor-widget-button .elementor-button { transition:none; }
}

/* One calm reveal following the completed brand entrance; static without JS. */
.home-content .PL-section1 > .e-con-inner { opacity:1; transition:opacity 600ms ease; }
.home-content--intro-pending .PL-section1 > .e-con-inner { opacity:0; transition:none; }
.home-content--intro-pending .PL-section1 a { visibility:hidden; }
.home-content .PL-section1 .pl-home-intro-message .pl-intro-claim { color:#c3d1e2; font-size:clamp(20px,1.65vw,24px); font-weight:400; line-height:1.5; opacity:1; transform:none; transition:none; will-change:auto; }
/* Deeper cyan for definition on ice, with the same violet as the network. */
.home-content #modelli-su-misura .modelli-tile.is-azure { --tile-rgb:33,154,189; box-shadow:none; }
.home-content #modelli-su-misura .modelli-tile.is-lilac { --tile-rgb:140,110,255; box-shadow:none; }
.home-content #precisione .precisione-curve,.home-content #fit-lavoro :is(.fit-wave,.fit-target) { filter:none; }
.home-content #precisione stop:nth-child(odd),.home-content #fit-lavoro stop:nth-child(odd) { stop-color:#219abd; }
.home-content #precisione stop:nth-child(even),.home-content #fit-lavoro stop:nth-child(even) { stop-color:#8c6eff; }
.home-content #fit-lavoro .fit-target.is-azure { fill:#219abd; }
.home-content #fit-lavoro .fit-target.is-lilac { fill:#8c6eff; }
@media(prefers-reduced-motion:reduce) {
 .home-content .PL-section1 > .e-con-inner { opacity:1; transition:none; }
 .home-content--intro-pending .PL-section1 a { visibility:visible; }
}

/* Translated compound words retain the same heading sizes on narrow screens. */
.home-content .elementor-heading-title { overflow-wrap: anywhere; hyphens: auto; }
