/* Denser editorial layout: images carry context alongside the copy. */
.header{border-top:0;min-height:94px}
.brand img{width:80px;height:80px}
.section{padding-top:62px;padding-bottom:62px}
.section-heading{margin-bottom:30px;gap:36px}
.eyebrow{margin-bottom:19px}
h2{margin-bottom:20px}
.hero{height:auto;min-height:540px;max-height:none}
.hero-content{padding-top:58px;padding-bottom:42px}
.hero-bottom{padding-bottom:18px}
.problem-card{min-height:230px;padding:25px 27px}
.problem-top{margin-bottom:20px}
.division-image{height:225px}
.division-body{padding:28px 32px}
.division-body h3{font-size:2rem}
.tags{margin:19px 0 23px}
.integration,.presence,.diagram-section{gap:40px}
.integration h2{font-size:clamp(2.1rem,3.2vw,3.1rem)}
.process-grid{margin-top:30px;gap:24px}
.process-number{margin-bottom:23px}
.presence{grid-template-columns:1fr 1.2fr;padding-top:40px;padding-bottom:40px}
.presence-copy h2{font-size:2rem}
.presence-copy>p:not(.eyebrow){margin-bottom:13px;max-width:480px}
.presence-copy .text-link{margin-top:0}
.location-grid{margin:0;gap:27px}
.location-grid>div{border-left:1px solid #cbd7df;padding-left:23px}
.contact-band{padding-top:43px;padding-bottom:47px}
.contact-band h2{font-size:clamp(2rem,3vw,2.8rem)}
.footer{padding-top:43px}
.footer-top{padding-bottom:30px}
.visual-intro{display:grid;grid-template-columns:1.03fr 1fr;gap:42px;align-items:center;padding-top:42px;padding-bottom:42px}
.intro-copy{min-width:0}
.visual-intro h1{font-size:clamp(2.4rem,3.65vw,3.85rem);line-height:1.08;margin-bottom:22px}
.intro-copy>p:not(.eyebrow){font-size:1.08rem;line-height:1.65;margin-bottom:24px;max-width:650px}
.visual-intro .breadcrumb{margin-bottom:21px}
.visual-intro .eyebrow{font-size:12px}
.editorial-image{margin:0;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.editorial-image img{width:100%;height:100%;min-height:260px;max-height:430px;object-fit:cover;object-position:center;filter:saturate(.82)}
.editorial-image figcaption{display:flex;justify-content:space-between;gap:12px;padding:11px 0 0;font-size:12px;color:#627787;line-height:1.4}
.editorial-image figcaption>span:last-child{white-space:nowrap;color:#73848f}
.detail-intro{padding-top:34px;padding-bottom:34px;gap:42px;border-bottom:1px solid var(--line)}
.detail-intro h2{font-size:1.85rem}
.detail-intro>p{font-size:1rem}
.detail-grid{margin-top:26px}
.detail-grid article{padding:26px 30px 29px 0}
.detail-grid article:nth-child(even){padding-left:30px}
.detail-grid h2{font-size:1.6rem;margin-bottom:15px}
.index{margin-bottom:18px}
.technical{margin-top:16px}
.visual-responsibility{display:grid;grid-template-columns:1fr 1.03fr;align-items:center;gap:45px}
.visual-responsibility .editorial-image img{max-height:315px;min-height:240px}
.visual-responsibility h2{font-size:2rem}
.visual-responsibility p{font-size:1rem;margin-bottom:0}
.related{padding-top:38px;padding-bottom:38px}
.related a{padding:19px 0}
.structure-parent{margin-top:28px;padding:23px}
.structure-children{padding-top:23px;gap:23px}
.italy-operation{background:var(--navy);color:white;max-width:none;scroll-margin-top:110px}
.italy-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
.italy-intro .eyebrow{color:#b9cad8}
.italy-intro h2{font-size:clamp(2.25rem,3.4vw,3.5rem);line-height:1.08;margin:0;max-width:650px}
.italy-intro>div:last-child{border-left:1px solid #365365;padding-left:35px}
.italy-intro>div:last-child p{color:#b7c7d2;font-size:1rem;line-height:1.72;margin:0 0 16px}
.italy-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:18px;align-items:center;margin:45px 0 34px}
.italy-flow>div{border:1px solid #365365;min-height:160px;padding:27px;display:flex;flex-direction:column;justify-content:center}
.italy-flow>svg{color:#7992a3}
.italy-flow>div>span{font:12px monospace;letter-spacing:.09em;color:#95aaba;margin-bottom:17px}
.italy-flow>div>strong{font-size:1.2rem;font-weight:500;line-height:1.35;margin-bottom:13px}
.italy-flow>div>small{font-size:13px;line-height:1.55;color:#9eb2c0}
.italy-flow .italy-flow-core{background:var(--blue);border-color:var(--blue)}
.italy-flow .italy-flow-core span,.italy-flow .italy-flow-core small{color:#d8e4ec}
.italy-role-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #365365;border-bottom:1px solid #365365}
.italy-role-grid article{padding:27px 25px 30px 0;border-right:1px solid #365365;margin-right:25px}
.italy-role-grid article:last-child{border-right:0;margin-right:0}
.italy-role-grid article>span{font:12px monospace;color:#aabcc8}
.italy-role-grid h3{font-size:1.25rem;margin:22px 0 13px;color:white}
.italy-role-grid p{font-size:.9rem;line-height:1.65;color:#9fb3c0;margin:0}
.italy-scope{max-width:920px;margin:30px 0 0!important;color:#b8c9d4!important;font-size:.95rem!important}
.italy-scope strong{color:white}
.contact-options{gap:24px;padding-top:42px;padding-bottom:42px}
.contact-options article{padding:26px}
.contact-options h2{font-size:1.65rem}
@media(max-width:1150px){.section{padding-top:50px;padding-bottom:50px}.visual-intro{gap:28px;padding-top:35px;padding-bottom:35px}.visual-intro h1{font-size:clamp(2.3rem,3.8vw,3.2rem)}.presence{padding-top:35px;padding-bottom:35px}.hero{min-height:515px}}
@media(max-width:850px){.section{padding-top:44px;padding-bottom:44px}.visual-intro{grid-template-columns:1fr;gap:24px}.visual-intro h1{max-width:720px;font-size:clamp(2.5rem,5vw,3.4rem)}.visual-intro .editorial-image img{height:290px;min-height:0;max-height:none}.intro-copy>p:not(.eyebrow){max-width:720px}.visual-responsibility{grid-template-columns:1fr;gap:25px}.visual-responsibility .editorial-image img{height:280px;min-height:0;max-height:none}.presence{grid-template-columns:1fr;gap:25px}.location-grid{gap:25px}.problem-card{padding:23px;min-height:220px}.hero{min-height:500px}.integration,.diagram-section{gap:30px}.contact-options{gap:18px}.italy-intro{grid-template-columns:1fr;gap:26px}.italy-intro>div:last-child{padding-left:0;border-left:0}.italy-flow{grid-template-columns:1fr}.italy-flow>svg{transform:rotate(90deg);justify-self:center}.italy-flow>div{min-height:0}.italy-role-grid{grid-template-columns:1fr 1fr}.italy-role-grid article:nth-child(2){border-right:0;margin-right:0}.italy-role-grid article:nth-child(-n+2){border-bottom:1px solid #365365}}
@media(max-width:560px){.header{min-height:82px}.brand img{width:68px;height:68px}.section{padding-top:34px;padding-bottom:34px}.section-heading{margin-bottom:24px}.section-heading>p{margin-top:16px}.hero{min-height:0}.hero-content{padding-top:210px;padding-bottom:18px}.hero-media{height:330px}.hero-shade{background:linear-gradient(180deg,rgba(8,29,44,.12),rgba(8,29,44,.3) 150px,#081d2c 320px)}.hero-content>p:not(.eyebrow){margin-bottom:24px}.hero-bottom{padding-top:10px;padding-bottom:15px}.problem-card{min-height:205px;padding:23px}.problem-top{margin-bottom:17px}.division-image{height:205px}.division-body{padding:24px}.process-grid{gap:25px 20px;margin-top:24px}.presence{gap:23px}.presence-copy h2{font-size:1.8rem}.location-grid{grid-template-columns:1fr;gap:20px}.location-grid>div{padding-left:15px}.location-grid h3{margin:9px 0}.contact-band{padding-top:32px;padding-bottom:34px}.footer{padding-top:32px}.visual-intro{padding-top:29px;padding-bottom:29px;gap:23px}.visual-intro h1{font-size:2.3rem}.intro-copy>p:not(.eyebrow){font-size:1rem}.visual-intro .editorial-image img{height:225px}.editorial-image figcaption{flex-direction:column;gap:3px}.visual-responsibility .editorial-image img{height:220px}.detail-intro{gap:14px}.detail-grid article,.detail-grid article:nth-child(even){padding:24px 0}.detail-grid h2{font-size:1.5rem}.visual-responsibility{gap:22px}.visual-responsibility h2{font-size:1.85rem}.related a{padding:16px 0}.contact-options article{padding:23px}.structure-children{gap:19px}.italy-intro h2{font-size:2.2rem}.italy-flow{margin-top:30px}.italy-flow>div{padding:22px}.italy-role-grid{grid-template-columns:1fr}.italy-role-grid article,.italy-role-grid article:nth-child(2){margin-right:0;border-right:0;border-bottom:1px solid #365365;padding:24px 0}.italy-role-grid article:last-child{border-bottom:0}}
