.home main { overflow: hidden; }
.pmsl-section { padding: 52px 0; }
.pmsl-section > * { width: min(calc(100% - 80px), var(--container)); max-width: var(--container) !important; margin-inline: auto; }
.pmsl-section-label { margin-bottom: 26px; color: var(--pmsl-blue-bright); font-size: 14px; font-weight: 700; }
.pmsl-rule-title { display: grid; width: min(calc(100% - 80px), var(--container)); max-width: var(--container) !important; align-items: center; grid-template-columns: 1fr auto 1fr; gap: 22px; margin: 0 auto 28px; color: var(--pmsl-blue-bright); font: 700 14px/1.2 var(--font-body); letter-spacing: 0; text-align: center; }
.pmsl-rule-title span { height: 1px; background: #cbd5e1; }
.pmsl-icon { flex: 0 0 auto; }
.pmsl-icon svg { width: 100%; height: 100%; object-fit: contain; }

/* Hero */
.pmsl-hero { width: 100%; max-width: none !important; background: #fff; }
.pmsl-hero__columns { display: grid !important; min-height: clamp(630px, 39vw, 750px); grid-template-columns: 45% 55%; gap: 0; }
.pmsl-hero__content { display: flex; align-items: center; justify-content: flex-end; padding: 58px 0 38px; }
.pmsl-hero__copy { width: min(calc(100% - 70px), 650px); margin-right: clamp(30px, 4vw, 76px); }
.pmsl-hero__title { margin: 18px 0 20px; color: var(--pmsl-text); font-size: var(--fs-hero); line-height: 1.08; }
.pmsl-hero__intro { max-width: 620px; color: #263b5d; font-size: 14px; line-height: 1.75; }
.pmsl-button-row { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 28px; }
.pmsl-stats { display: grid; margin-top: 50px; border: 1px solid var(--pmsl-border); box-shadow: 0 7px 20px rgba(6,37,79,.07); grid-template-columns: repeat(4, 1fr); }
.pmsl-stat { display: flex; min-height: 126px; flex-direction: column; justify-content: flex-end; padding: 16px 18px 18px; border-right: 1px solid var(--pmsl-border); }
.pmsl-stat:last-child { border-right: 0; }
.pmsl-stat .pmsl-icon { width: 32px; height: 32px; margin-bottom: 10px; color: var(--pmsl-blue); }
.pmsl-stat__value, .pmsl-stat__label { margin: 0; font-size: 14px; font-weight: 700; line-height: 1.28; }
.pmsl-hero__visual { position: relative; min-width: 0; overflow: hidden; margin-left: -1px; clip-path: polygon(10% 0,100% 0,100% 100%,10% 100%,0 50%); }
.pmsl-hero__image, .pmsl-hero__image img { width: 100%; height: 100%; }
.pmsl-hero__image img { object-fit: cover; object-position: 82% center; }
.pmsl-hero-feature { position: absolute; right: 2%; bottom: 40px; width: min(330px, 43%); padding: 27px 29px 25px; background: #fff; color: var(--pmsl-text); box-shadow: 0 12px 40px rgba(0,0,0,.18); }
.pmsl-hero-feature::after { display: block; width: 48px; height: 2px; margin-top: 18px; background: var(--pmsl-blue); content: ""; }
.pmsl-hero-feature__heading { display: flex; align-items: center; gap: 18px; }
.pmsl-hero-feature__heading .pmsl-icon { width: 42px; height: 42px; color: var(--pmsl-blue); }
.pmsl-hero-feature__heading p { font-size: 16px; line-height: 1.35; }
.pmsl-hero-feature > p { margin-top: 20px; font-size: 14px; line-height: 1.65; }

/* About */
.pmsl-about { display: grid !important; min-height: 520px; grid-template-columns: 42% 58%; gap: 0; margin-top: -1px; background: var(--pmsl-navy-deep); color: #fff; }
.pmsl-about__content { display: flex; align-items: center; justify-content: flex-end; padding: 50px 0; }
.pmsl-about__copy { width: min(calc(100% - 70px), 570px); margin-right: 36px; }
.pmsl-eyebrow--light { color: #fff; }
.pmsl-about h2 { margin: 18px 0; font-size: var(--fs-h2); }
.pmsl-about__copy > p:not(.pmsl-eyebrow):not(.pmsl-text-link) { max-width: 530px; font-size: 14px; line-height: 1.7; }
.pmsl-text-link { margin-top: 23px; }
.pmsl-text-link a { display: inline-flex; gap: 10px; border-bottom: 2px solid #fff; padding-bottom: 4px; font-size: 14px; font-weight: 600; }
.pmsl-about-cards { display: grid; gap: 8px; margin-top: 28px; grid-template-columns: repeat(3, 1fr); }
.pmsl-about-card { display: flex; min-height: 122px; align-items: flex-start; flex-direction: column; justify-content: space-between; gap: 12px; padding: 18px; border: 1px solid rgba(255,255,255,.58); }
.pmsl-about-card .pmsl-icon { width: 38px; height: 38px; }
.pmsl-about-card h3 { font-size: 14px; line-height: 1.35; }
.pmsl-about__visual { overflow: hidden; margin-left: -1px; clip-path: polygon(14.75% 0,100% 0,100% 100%,0 100%); }
.pmsl-about__image, .pmsl-about__image img { width: 100%; height: 100%; }
.pmsl-about__image img { object-fit: cover; object-position: 54% center; }
.pmsl-about__visual.reveal-right { opacity: 1; transform: none; }
html.pmsl-motion-ready .pmsl-about__visual.reveal-right .pmsl-about__image { opacity: 0; transform: translateX(var(--pmsl-motion-distance)); transition: opacity var(--pmsl-motion-duration) var(--pmsl-motion-ease),transform var(--pmsl-motion-duration) var(--pmsl-motion-ease); }
html.pmsl-motion-ready .pmsl-about__visual.reveal-right.is-visible .pmsl-about__image { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
    .pmsl-about__visual.reveal-right .pmsl-about__image { opacity: 1; transform: none; }
}

/* Operations */
.pmsl-operations { padding-top: clamp(46px, 4vw, 58px); padding-bottom: clamp(44px, 3.5vw, 54px); background: #fff; }
.pmsl-operation-grid { display: grid !important; width: min(calc(100% - 80px), 1320px) !important; max-width: 1320px !important; gap: clamp(28px, 2.1vw, 32px); margin-inline: auto !important; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pmsl-operation { --operation-arrow-cut: 13%; --operation-panel: polygon(0 0, 72% 0, 105% 100%, 0 100%); --operation-shell: polygon(8% 3.5%, 88.5% 3.5%, 100% 15.5%, 88% 100%, 0 100%, 0 44%); position: relative; isolation: isolate; height: clamp(360px, 27vw, 400px); background: transparent; filter: none; transition: transform .25s var(--ease); }
.pmsl-operation:nth-child(3) { --operation-arrow-cut: 11%; --operation-panel: polygon(0 0, 72% 0, 105% 100%, 0 100%); --operation-shell: polygon(15% 3.5%, 72% 3.5%, 75% 0, 88% 0, 100% 15.5%, 89% 100%, 0 100%); filter: none; }
.pmsl-operation--featured { --operation-arrow-cut: 12%; --operation-panel: polygon(0 0, 67% 0, 106% 100%, 0 100%); --operation-shell: polygon(5% 3.5%, 62.5% 3.5%, 65.5% 0, 75.5% 0, 79% 3.5%, 89% 3.5%, 100% 16%, 88% 100%, 0 100%, 0 16%); }
.pmsl-operation:first-child { --operation-arrow-cut: 12%; --operation-panel: polygon(0 0, 72% 0, 105% 100%, 0 100%); --operation-shell: polygon(8% 3.5%, 88.5% 3.5%, 100% 15.5%, 88% 100%, 0 100%, 0 44%); }
.pmsl-operation:nth-child(2) { --operation-arrow-cut: 12%; --operation-panel: polygon(0 0, 72% 0, 105% 100%, 0 100%); --operation-shell: polygon(15% 3.5%, 72% 3.5%, 75% 0, 88% 0, 100% 16%, 88% 100%, 0 100%); }
.pmsl-operation::before { content: ""; position: absolute; inset: 0; background: #e4eaf2; clip-path: var(--operation-shell); }
.pmsl-operation::after { content: ""; position: absolute; z-index: -1; inset: 0 2px -2px; background: rgba(15,35,70,.13); clip-path: var(--operation-shell); transform: translateY(6px); filter: blur(3px); pointer-events: none; }
.pmsl-operation:first-child::after { transform: translateY(5px); filter: blur(2px); }
.pmsl-operation__inner { position: absolute; z-index: 0; inset: 1px; overflow: hidden; background: #fff; clip-path: var(--operation-shell); }
.pmsl-operation__inner > * { margin-block: 0; }
.pmsl-operation:hover { transform: translateY(-4px); }
.pmsl-operation__number { position: absolute; z-index: 3; top: 3.5%; left: 0; display: grid; width: 25%; height: 56px; margin: 0; place-items: center; clip-path: polygon(20% 0, 100% 0, 82% 100%, 0 100%); background: var(--pmsl-blue-bright); color: #fff; font: 700 24px/1 var(--font-heading); text-indent: 4px; }
.pmsl-operation__media { position: absolute; z-index: 0; inset: 0 0 auto; height: 82%; overflow: hidden; }
.pmsl-operation__image, .pmsl-operation__image img { width: 100%; height: 100%; }
.pmsl-operation__image img { object-fit: cover; transition: transform .3s ease; }
.pmsl-operation:first-child .pmsl-operation__image img { object-position: 50% center; }
.pmsl-operation:nth-child(2) .pmsl-operation__image img { object-position: 50% center; }
.pmsl-operation:first-child .pmsl-operation__number { left: 0; }
.pmsl-operation:nth-child(2) .pmsl-operation__number { left: 10%; }
.pmsl-operation:nth-child(3) .pmsl-operation__image img { object-position: 50% center; }
.pmsl-operation:nth-child(3) .pmsl-operation__number { left: 10%; }
.pmsl-operation:hover .pmsl-operation__image img { transform: scale(1.03); }
.pmsl-operation__body { position: absolute; z-index: 2; inset: auto 0 0; height: 47%; padding: 21px 24px 22px; background: #fff; clip-path: var(--operation-panel); }
.pmsl-operation__body > * { margin-inline: 0 !important; }
.pmsl-operation__body h3 { margin: 0 0 8px; font-size: clamp(18px, 1.35vw, 20px); }
.pmsl-operation__body p:not(.pmsl-operation__arrow) { max-width: 78%; margin: 0; font-size: 14px; line-height: 1.58; }
.pmsl-operation:first-child .pmsl-operation__body { height: 47%; padding: 21px 24px 22px; background: #fff; clip-path: var(--operation-panel); }
.pmsl-operation:first-child .pmsl-operation__body h3 { margin-bottom: 8px; }
.pmsl-operation:first-child .pmsl-operation__body p:not(.pmsl-operation__arrow) { max-width: 78%; }
.pmsl-operation:nth-child(2) .pmsl-operation__body { height: 45%; padding: 21px 38px 22px; background: linear-gradient(110deg,var(--pmsl-blue-bright),#073a9d); color: #fff; clip-path: var(--operation-panel); }
.pmsl-operation:nth-child(2) .pmsl-operation__body h3 { margin-bottom: 8px; }
.pmsl-operation:nth-child(2) .pmsl-operation__body p:not(.pmsl-operation__arrow) { max-width: 78%; }
.pmsl-operation:nth-child(2) .pmsl-operation__arrow { color: #fff; }
.pmsl-operation:nth-child(3) .pmsl-operation__body { height: 45%; padding: 21px 38px 22px; background: #fff; clip-path: var(--operation-panel); }
.pmsl-operation:nth-child(3) .pmsl-operation__body h3 { margin-bottom: 8px; }
.pmsl-operation:nth-child(3) .pmsl-operation__body p:not(.pmsl-operation__arrow) { max-width: 84%; }
.pmsl-operation__arrow { position: absolute; right: calc(var(--operation-arrow-cut) + 22px); bottom: 22px; margin: 0; color: var(--pmsl-blue-bright); font-size: 27px; line-height: 1; transition: transform .2s ease; }
.pmsl-operation:hover .pmsl-operation__arrow { transform: translateX(4px); }
.pmsl-operation--featured .pmsl-operation__body { background: var(--pmsl-blue-bright); color: #fff; }
.pmsl-operation--featured .pmsl-operation__arrow { color: #fff; }

@media (min-width: 1600px) {
    .pmsl-operation-grid { width: min(calc(100% - 120px), 1440px) !important; max-width: 1440px !important; }
}

/* Capability */
.pmsl-capability { padding: 35px 0; background: linear-gradient(100deg,var(--pmsl-navy-deep),#07336e); color: #fff; }
.pmsl-capability__inner { display: grid !important; align-items: center; grid-template-columns: 350px 1fr; }
.pmsl-capability h2 { padding-right: 35px; font-size: 30px; }
.pmsl-capability__items { display: grid; grid-template-columns: repeat(4, 1fr); }
.pmsl-capability-item { display: flex; min-height: 112px; align-items: flex-start; gap: 15px; padding: 9px 20px; border-left: 1px solid rgba(255,255,255,.28); }
.pmsl-capability-item .pmsl-icon { width: 42px; height: 42px; }
.pmsl-capability-item h3 { margin: 2px 0 8px; font-size: 14px; line-height: 1.35; }
.pmsl-capability-item p { font-size: 14px; line-height: 1.5; }

/* Value chain */
.pmsl-value-chain { padding-top: 34px; padding-bottom: 36px; }
.pmsl-value-chain__flow { display: grid !important; width: min(calc(100% - 80px), var(--container)); max-width: var(--container) !important; align-items: center; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr; gap: clamp(12px, 1.4vw, 26px); margin-inline: auto; }
.pmsl-value-stage { display: flex; min-height: 124px; align-items: center; justify-content: center; flex-direction: column; gap: 12px; padding: 12px; border: 1px solid var(--pmsl-border); background: #fff; box-shadow: 0 5px 14px rgba(6,37,79,.06); text-align: center; }
.pmsl-value-stage .pmsl-icon { width: 54px; height: 54px; color: var(--pmsl-blue-bright); }
.pmsl-value-stage p { font-size: 14px; font-weight: 700; line-height: 1.3; }
.pmsl-flow-arrow { color: var(--pmsl-blue-bright); font-size: 42px; font-weight: 700; line-height: 1; }

/* Product and quality */
.pmsl-product { padding: 0; background: var(--pmsl-bg-light); }
.pmsl-product__grid { display: grid; width: min(100%, 1680px); max-width: 1680px !important; min-height: 370px; margin-inline: auto; grid-template-columns: 34% 32% 34%; gap: 0; }
.pmsl-product__visual { overflow: hidden; }
.pmsl-product__image, .pmsl-product__image img { width: 100%; height: 100%; }
.pmsl-product__image img { object-fit: cover; object-position: center; }
.pmsl-product__content { display: flex; justify-content: center; flex-direction: column; padding: 36px 42px; }
.pmsl-product__content h2 { margin: 7px 0 16px; font-size: clamp(28px, 2vw, 34px); }
.pmsl-product__content > p:not(.pmsl-eyebrow) { font-size: 14px; line-height: 1.65; }
.pmsl-check-list { display: grid; gap: 8px; margin: 17px 0 21px; padding: 0; list-style: none; }
.pmsl-check-list li { position: relative; padding-left: 25px; font-size: 14px; }
.pmsl-check-list li::before { position: absolute; left: 0; top: 3px; display: grid; width: 17px; height: 17px; place-items: center; border-radius: 50%; background: var(--pmsl-blue-bright); color: #fff; content: "✓"; font-size: 14px; line-height: 1; }
.pmsl-quality { display: flex; justify-content: center; flex-direction: column; padding: 34px 30px; }
.pmsl-quality__title { margin-bottom: 18px; text-align: center; }
.pmsl-quality__grid { display: grid; gap: 10px; grid-template-columns: repeat(2, 1fr); }
.pmsl-quality-card { display: flex; min-height: 108px; align-items: center; gap: 15px; padding: 16px; border: 1px solid var(--pmsl-border); background: #fff; box-shadow: 0 4px 12px rgba(6,37,79,.04); }
.pmsl-quality-card .pmsl-icon { width: 50px; height: 50px; color: var(--pmsl-blue-bright); }
.pmsl-quality-card h3, .pmsl-quality-card p { font-size: 14px; line-height: 1.4; }
.pmsl-quality-card p { margin-top: 4px; }

/* Sustainability */
.pmsl-sustainability { padding-top: 32px; padding-bottom: 38px; }
.pmsl-sustainability__grid { display: grid; width: min(calc(100% - 80px), var(--container)); max-width: var(--container) !important; gap: 12px; margin-inline: auto; grid-template-columns: repeat(4, 1fr); }
.pmsl-sustainability-card { display: flex; min-height: 146px; align-items: flex-start; gap: 17px; padding: 20px; border: 1px solid var(--pmsl-border); background: #fff; box-shadow: 0 4px 12px rgba(6,37,79,.05); }
.pmsl-sustainability-card .pmsl-icon { width: 58px; height: 58px; }
.pmsl-sustainability-card--green .pmsl-icon { color: var(--pmsl-green); }
.pmsl-sustainability-card--teal .pmsl-icon { color: var(--pmsl-teal); }
.pmsl-sustainability-card h3 { margin-bottom: 8px; font-size: 16px; }
.pmsl-sustainability-card p { font-size: 14px; line-height: 1.55; }

/* CTA */
.pmsl-cta { position: relative; overflow: hidden; min-height: 148px; padding: 24px 0; background: linear-gradient(103deg,#082f70 0%,#0a48aa 52%,#0b51c7 100%); color: #fff; }
.pmsl-cta::before { position: absolute; inset: 0; background: url("../images/cta-blueprint-pattern.svg") center / cover no-repeat; pointer-events: none; content: ""; }
.pmsl-cta::after { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(2,28,69,.13),transparent 34%,transparent 68%,rgba(1,31,85,.1)); pointer-events: none; content: ""; }
.pmsl-cta__inner { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; }
.pmsl-cta__message { display: flex; align-items: center; gap: 34px; }
.pmsl-cta__message .pmsl-icon { width: 108px; height: 108px; }
.pmsl-cta h2 { font-size: clamp(27px, 2.15vw, 36px); }
.pmsl-cta .pmsl-button--white .wp-block-button__link { min-width: 190px; min-height: 52px; justify-content: space-between; border: 1px solid rgba(8,47,112,.12); border-radius: 2px; padding-inline: 24px; }
