/* Cornalba / Azienda v0.3 — preview 1920 px, stili isolati. */
.page-azienda { --az-blue:#313280; --az-green:#445b44; --az-grey:#dfe1ea; --az-sand:#f2e5ac; --az-orange:#ca511b; }
/* La tavola da 1920 px è un riferimento grafico, non un limite del viewport. */
.az-stage { width:100%; max-width:none; margin-inline:auto; }
.az-container { width:min(852px,calc(100% - 64px)); margin-inline:auto; }
.az-page h1,.az-page h2,.az-page h3,.az-page p { margin:0; }
.az-page h2 { font-size:40px; line-height:1.05; font-weight:500; letter-spacing:-.045em; }
.az-page strong { font-weight:800; }
.az-copy { font-size:22px; line-height:1.32; letter-spacing:-.015em; }
.az-copy p + p { margin-top:14px; }
.az-btn { display:inline-flex; align-items:center; justify-content:center; max-width:100%; min-height:48px; padding:12px 24px; background:var(--az-orange); color:#fff; border-radius:999px; font-size:19px; line-height:1.2; font-weight:800; text-decoration:none; text-align:center; }
.az-btn:hover { filter:brightness(1.08); }
.az-btn:focus-visible { outline:3px solid var(--az-sand); outline-offset:4px; }
.az-hero { position:relative; height:818px; color:#fff; background:#48504a; }
.az-hero > picture { position:absolute; inset:0; width:100%; height:100%; }
.az-hero img { width:100%; height:100%; object-fit:cover; object-position:left center; }
/* La fotografia fornita contiene già il trattamento scuro della preview. */
.az-hero__content { position:relative; padding-top:249px; }
.az-hero h1 { font-size:89px; line-height:.86; font-weight:400; letter-spacing:-.055em; }
.az-hero h1 span { display:block; }
.az-intro { padding:80px 0 104px; min-height:782px; }
.az-intro h2 { color:var(--az-blue); margin-bottom:48px; }
.az-intro__logo { width:230px; height:auto; margin:60px 0 50px; }
.az-split { display:grid; grid-template-columns:49.3% 1fr; gap:0; min-height:686px; background:#fff; }
.az-panel { display:flex; align-items:center; padding:80px 96px; color:#fff; }
.az-panel--blue { background:var(--az-blue); }
.az-panel--green { background:var(--az-green); }
.az-panel__inner { width:100%; max-width:322px; }
.az-panel--left .az-panel__inner { margin-left:auto; }
.az-panel--right .az-panel__inner { margin-right:auto; }
.az-panel h2 { margin-bottom:34px; }
.az-panel p { font-size:18px; line-height:1.34; font-weight:400; }
.az-panel__copy p + p { margin-top:26px; }
.az-panel .az-btn { margin-top:40px; font-size:16px; min-height:42px; padding:10px 20px; }
.az-media { min-width:0; position:relative; }
.az-media picture { position:absolute; inset:0; height:100%; width:100%; }
.az-media img { width:100%; height:100%; object-fit:cover; object-position:center; }
.az-organization { margin-top:0; padding:100px 0 106px; background:var(--az-grey); min-height:989px; }
.az-organization h2 { max-width:720px; color:var(--az-blue); margin-bottom:44px; }
.az-organization .az-copy { font-size:22px; }
.az-organization .az-copy p + p { margin-top:0; }
.az-organization .az-copy p:last-child { margin-top:26px; }
.az-stats { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:0; margin:112px -8px 0; color:var(--az-blue); }
.az-stats__item { text-align:center; padding:0 20px; }
.az-stats__item + .az-stats__item { border-left:2px solid #fff; }
.az-stats img { width:140px; height:140px; object-fit:contain; margin:0 auto 28px; }
.az-stats h3 { font-size:25px; line-height:1.1; font-weight:800; white-space:nowrap; margin-bottom:24px; letter-spacing:-.04em; }
.az-stats p { font-size:16px; line-height:1.4; }
.az-panorama { height:711px; margin-top:0; }
.az-panorama picture,.az-panorama img { width:100%; height:100%; }
.az-panorama img { object-fit:cover; object-position:center; }
.az-split--contact,.az-split--b2b { margin-top:0; }
.az-split--contact strong,.az-b2b-brand span { color:var(--az-sand); }
.az-b2b-brand { margin-bottom:28px; }
.az-b2b-brand img { width:240px; height:auto; }
.az-b2b-brand span { display:block; font-size:40px; font-weight:800; line-height:1; }
.az-split--b2b .az-panel { padding-block:70px; }
.az-panorama--last { height:686px; }
/* B: da 1920 a 1280, altezze fotografiche conservate e crop centrale. */
@media (max-width:1919px) {
 .az-panel { padding-inline:clamp(42px,5vw,96px); }
}
/* C: 1280–1024, stesso impianto a due colonne con testo compatto. */
@media (max-width:1279px) {
 .az-hero { height:710px; }
 .az-hero__content { padding-top:235px; }
 .az-hero h1 { font-size:76px; }
 .az-panel { padding:64px 42px; }
 .az-panel__inner { max-width:350px; }
 .az-panel h2 { font-size:36px; }
 .az-split { min-height:640px; }
 .az-panorama { height:560px; }
}
/* D: 1024–768, foto affiancate e nessuna altezza fissa sui testi. */
@media (max-width:1023px) {
 .az-container { width:calc(100% - 80px); max-width:720px; }
 .az-hero { height:640px; }
 .az-hero__content { padding-top:225px; }
 .az-hero h1 { font-size:clamp(55px,7.4vw,74px); }
 .az-intro { min-height:0; padding:72px 0 80px; }
 .az-page h2 { font-size:34px; }
 .az-copy,.az-organization .az-copy { font-size:20px; }
 .az-panel { padding:56px 32px; }
 .az-panel h2 { font-size:31px; }
 .az-panel p { font-size:17px; }
 .az-panel .az-btn { font-size:14px; padding-inline:16px; }
 .az-split { min-height:620px; }
 .az-organization { min-height:0; padding:72px 0; }
 .az-stats { margin-top:68px; }
 .az-stats__item { padding-inline:12px; }
 .az-stats img { width:112px; height:112px; }
 .az-stats h3 { font-size:21px; white-space:normal; }
 .az-stats p { font-size:14px; }
 .az-panorama { height:440px; }
 .az-b2b-brand img { width:210px; }
}
/* E: sotto 768, sequenza narrativa in colonna e indicatori 2×2. */
@media (max-width:767px) {
 .az-container { width:calc(100% - 48px); }
 .az-hero { height:600px; }
 .az-hero img { object-position:left center; }
 .az-hero__content { padding-top:235px; }
 .az-hero h1 { font-size:clamp(40px,7.6vw,58px); line-height:.98; letter-spacing:-.045em; max-width:540px; }
 .az-hero h1 span { display:inline; }
 .az-hero h1 span + span::before { content:' '; }
 .az-intro { padding:56px 0 64px; }
 .az-page h2 { font-size:32px; line-height:1.08; }
 .az-intro h2 { margin-bottom:30px; }
 .az-copy,.az-organization .az-copy { font-size:18px; line-height:1.5; }
 .az-intro__logo { width:190px; margin:36px 0; }
 .az-btn { font-size:15px; min-height:46px; padding:12px 20px; }
 .az-split { display:flex; flex-direction:column; min-height:0; gap:0; }
 .az-panel,.az-split--b2b .az-panel { padding:48px 24px; }
 .az-panel__inner { max-width:540px; margin-inline:auto !important; }
 .az-panel h2 { max-width:420px; margin-bottom:26px; }
 .az-panel p { font-size:18px; line-height:1.45; }
 .az-panel .az-btn { margin-top:30px; font-size:15px; }
 .az-media { height:auto; aspect-ratio:970/686; }
 .az-split--logistics .az-panel,.az-split--contact .az-panel { order:-1; }
 .az-organization { padding:56px 0; margin-top:0; }
 .az-organization h2 { margin-bottom:30px; }
 .az-stats { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:32px; margin:48px 0 0; }
 .az-stats__item { padding-inline:12px; }
 .az-stats__item:nth-child(3) { border-left:0; }
 .az-stats img { width:104px; height:104px; margin-bottom:20px; }
 .az-stats h3 { font-size:21px; margin-bottom:16px; }
 .az-stats p { font-size:14px; line-height:1.45; }
 .az-panorama { height:320px; margin-top:0; }
 /* Preserva il terminale a destra; il ritaglio mobile avviene a sinistra. */
 .az-panorama--warehouse img { object-position:right center; }
 .az-panorama--last { height:300px; }
 .az-split--contact,.az-split--b2b { margin-top:0; }
 .az-b2b-brand { margin-bottom:26px; }
 .az-b2b-brand img { width:200px; }
 .az-b2b-brand span { font-size:32px; }
}
@media (max-width:374px) {
 .az-hero { height:560px; }
 .az-hero__content { padding-top:205px; }
 .az-page h2 { font-size:29px; }
 .az-stats__item { padding-inline:8px; }
 .az-stats h3 { font-size:19px; }
}
/* Divisori uniformi: orizzontali sempre, verticali solo senza pannelli blu. */
.az-page > * + * { border-top:2px solid #fff; }
.az-panel--green { border-left:2px solid #fff; }
@media(max-width:767px) {
 .az-panel--green { border-left:0; }
 .az-split > .az-panel { border-bottom:2px solid #fff; }
}
/* Azienda: nuovo fascione sede, integrato nel CSS unico della pagina. */
.page-azienda .az-location {
    display:flex;
    align-items:center;
    min-height:686px;
    padding:72px 0;
    border-top:2px solid #fff;
    background:var(--az-grey);
    color:var(--az-blue);
}
.page-azienda .az-location__logo {
    display:block;
    width:230px;
    max-width:100%;
    height:auto;
    margin:0 auto 36px;
}
.page-azienda .az-location h2 { text-align:center; margin-bottom:48px; }
.page-azienda .az-location__details {
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
    gap:56px;
    font-size:18px;
    line-height:1.55;
}
.page-azienda .az-location h3 { font-size:20px; line-height:1.3; font-weight:800; margin-bottom:20px; }
.page-azienda .az-location address { font-style:normal; }
.page-azienda .az-location__contacts { margin-top:24px; }
.page-azienda .az-location__contacts p + p { margin-top:10px; }
.page-azienda .az-location__hours + .az-location__hours { margin-top:18px; }
.page-azienda .az-location a { color:inherit; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.page-azienda .az-location a:hover { color:var(--az-orange); }
.page-azienda .az-location a:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.page-azienda .az-location__icon { width:24px; height:24px; flex:0 0 24px; }
.page-azienda .az-location h3,
.page-azienda .az-location__contacts p { display:flex; align-items:flex-start; gap:12px; }
.page-azienda .az-location h3 { align-items:center; }
.page-azienda .az-location__contacts span { min-width:0; }
.page-azienda .az-location + .az-panorama { margin-top:0; border-top:2px solid #fff; }
@media(max-width:1279px) {
    .page-azienda .az-location { min-height:640px; padding:64px 0; }
}
@media(max-width:1023px) {
    .page-azienda .az-location { min-height:620px; padding:56px 0; }
    .page-azienda .az-location__details { gap:32px; font-size:17px; }
}
@media(max-width:767px) {
    .page-azienda .az-location { min-height:0; padding:56px 0; }
    .page-azienda .az-location__logo { width:200px; margin-bottom:28px; }
    .page-azienda .az-location h2 { margin-bottom:36px; }
    .page-azienda .az-location__details { grid-template-columns:1fr; gap:32px; font-size:18px; }
    .page-azienda .az-location h3 { margin-bottom:16px; }
}

/* Due CTA cataloghi Azienda, coerenti per misura e spaziatura. */
.az-intro__cta-stack{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.az-intro__cta-stack .az-btn{width:340px;max-width:100%;margin:0}
@media(max-width:767px){.az-intro__cta-stack .az-btn{width:100%}}
