/* ERP layout is scoped so the home remains unchanged. */
.erp-page{padding-top:0}
.erp-page .site-header{position:sticky;top:0}


.erp-page .button{border-radius:3px;font-size:16px;min-height:52px;padding:14px 25px}
.erp-page main .container{max-width:1440px;width:calc(100% - 112px)}
.erp-page h1,.erp-page h2,.erp-page h3{font-family:var(--serif)}
.erp-page .eyebrow{font-size:14px;letter-spacing:.22em;text-transform:uppercase}
.erp-hero{position:relative;overflow:hidden;background:#28164c;color:#fff;isolation:isolate}
.erp-hero-backdrop{position:absolute;inset:-3%;background:url('assets/backgrounds/erp-dark-waves.webp') center/cover no-repeat;z-index:-1;animation:erp-waves-drift 24s ease-in-out infinite alternate}
.erp-wave-canvas{display:none;width:100%;height:100%}
.has-code-waves .erp-hero-backdrop{inset:0;background:none;animation:none}
.has-code-waves .erp-wave-canvas{display:block}
.erp-hero-inner{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:20px;min-height:680px;padding:55px 0}
.erp-hero-copy{position:relative;z-index:2}
.erp-hero .eyebrow{color:#eee1ff;margin-bottom:30px}
.erp-hero h1{color:white;font-size:clamp(48px,4.25vw,78px);line-height:1.04;letter-spacing:-.045em;margin:0 0 30px}
.erp-hero-copy>p:not(.eyebrow){font-size:19px;line-height:1.55;color:#f3ecff;max-width:650px}
.erp-hero .button-row{justify-content:flex-start;margin-top:35px;gap:16px}
.erp-hero .button-outline{border-color:#d7c0fa;color:#fff;background:transparent;box-shadow:none}
.erp-hero .button-outline:hover{background:#ffffff15}
.erp-hub{position:relative;width:100%;aspect-ratio:600/540;max-width:640px;justify-self:end}
.hub-connectors{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hub-connectors path{fill:none;stroke:#dcc7ff;stroke-width:1.6;filter:drop-shadow(0 0 5px #aa77ed)}
.hub-connectors circle{fill:white}
.hub-core{position:absolute;width:43%;height:auto;left:28.5%;top:33%;filter:drop-shadow(0 15px 25px #17072750);animation:erp-hub-float 7s ease-in-out infinite}
.hub-node{position:absolute;width:23%;height:24%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:linear-gradient(140deg,#cab4e77a,#6f45b370 65%,#8b65ca90);border:1px solid #e5d0ff8f;border-radius:10px;box-shadow:inset 0 1px 4px #fff6,0 12px 32px #16082f30;backdrop-filter:blur(8px);text-decoration:none;color:white;transition:translate .3s,background .3s,box-shadow .3s;--icon-cutout:#8e6cc7}
.hub-node:hover,.hub-node:focus-visible{translate:0 -5px;background:linear-gradient(140deg,#cab4e799,#7c54c390);box-shadow:0 0 30px #b78afa40}
.hub-node span{width:40px;height:40px}.hub-node svg{width:100%;height:100%;fill:currentColor}
.hub-node strong{font:500 17px/1.2 var(--sans);text-align:center}
.hub-finance{left:38.5%;top:0}.hub-trade{left:3%;top:18%}.hub-commercial{right:3%;top:18%}.hub-production{left:3%;bottom:0}.hub-flexibility{right:3%;bottom:0}
.erp-page .erp-partners{margin:0;padding:33px 0 37px;position:relative;background:#fff;min-height:0}
.erp-page .erp-partners:before{display:none}
.erp-partners .eyebrow{color:#5f4c80;margin:0 0 22px;font-size:14px}
.erp-page .partner-logos{margin:0;display:grid;grid-template-columns:repeat(6,1fr);align-items:center;gap:0}
.erp-page .partner-logo{padding:0 20px;border-right:1px solid #dacaf5;height:55px;opacity:1;min-width:0}
.erp-page .partner-logo:first-child{padding-left:0}.erp-page .partner-logo:last-child{border:0;padding-right:0}
.erp-page .partner-logo img{max-width:100%;max-height:45px;object-fit:contain}
.erp-management{position:relative;padding:65px 0 85px;background:#fff;isolation:isolate;overflow:hidden}
.erp-management:after{content:'';position:absolute;left:0;right:0;bottom:0;height:190px;background:url('assets/backgrounds/consulting-waves.webp') bottom/100% 100% no-repeat;z-index:-1;opacity:.55;pointer-events:none}
.management-intro{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:45px;margin-bottom:35px}
.management-intro .eyebrow{margin:0 0 18px}.management-intro h2{font-size:clamp(36px,3.1vw,58px);line-height:1.07;margin:0;letter-spacing:-.04em;color:#321459}
.management-intro>p{font-size:16px;line-height:1.55;color:#6f6081;max-width:430px;justify-self:end}
.heading-accent{display:block;width:38px;height:4px;background:#fab612;margin-top:22px}
.management-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.management-card{position:relative;border:1px solid #e4d8fb;border-radius:6px;background:#ffffffdf;padding:27px 25px;min-height:250px;display:flex;flex-direction:column;transition:box-shadow .3s,translate .3s,border-color .3s;scroll-margin-top:110px}
.management-card:hover{translate:0 -4px;box-shadow:0 12px 40px #44277812;border-color:#c2a9ed}
.management-heading{display:flex;gap:20px;align-items:center;min-height:85px;margin-bottom:16px}
.management-icon{flex-shrink:0;display:grid;place-items:center;width:73px;height:73px;border-radius:12px;background:linear-gradient(135deg,#f4eeff,#d9cafa);color:#482185;--icon-cutout:#e7ddfc;transition:color .25s,background .25s}
.management-icon svg{width:43px;height:43px;fill:currentColor}
.management-card h3{font-size:27px;line-height:1.09;margin:0;letter-spacing:-.035em;color:#311459}
.management-card p{font-size:16px;line-height:1.5;color:#78668d;margin:0 0 16px}
.management-link{display:grid;place-items:center;border:1px solid #a68ac8;border-radius:3px;width:46px;height:33px;color:#482185;font-size:24px;line-height:1;margin-top:auto;align-self:flex-start;text-decoration:none;transition:background .2s,color .2s}
.management-link:hover{background:#442778;color:#fff}
.management-featured{grid-row:span 2;background:linear-gradient(115deg,#faf7ff,#ffffff);min-height:520px;padding:34px 30px;overflow:hidden}
.management-featured:before{content:'';position:absolute;inset:0;background:url('assets/backgrounds/tile-waves.svg') center/cover;opacity:.25;pointer-events:none}
.management-featured>*{position:relative}.management-featured .management-heading{display:block}.management-featured .management-icon{margin-bottom:30px;width:94px;height:94px}.management-featured .management-icon svg{width:54px;height:54px}.management-featured h3{font-size:35px;margin-bottom:23px}
.erp-ecosystem{background:linear-gradient(115deg,#372056,#4c2a7b);color:white;position:relative;overflow:hidden;padding:140px 0 160px;isolation:isolate}
.erp-ecosystem:after{content:'';position:absolute;left:-12%;right:-12%;bottom:-140px;height:240px;background:url('assets/backgrounds/tile-waves.svg') center/100% 100%;opacity:.75;z-index:-1;transform-origin:center bottom;animation:erp-ecosystem-sway 8s ease-in-out infinite alternate;pointer-events:none}
.erp-ecosystem:before{content:'';position:absolute;left:-12%;right:-12%;bottom:-170px;height:260px;background:url('assets/backgrounds/areas-waves.svg') center/100% 100% no-repeat;opacity:.4;z-index:-1;animation:erp-ecosystem-sway 10s ease-in-out infinite alternate-reverse;pointer-events:none}
.ecosystem-inner{display:grid;grid-template-columns:1fr 1.3fr;align-items:center;gap:40px}
.ecosystem-inner h2{font-size:44px;line-height:1.1;color:#fff;margin:0 0 16px;letter-spacing:-.04em}.ecosystem-inner p{font-size:17px;line-height:1.5;color:#f3ebff;margin:0;max-width:500px}
.ecosystem-practices{list-style:none;margin:0;padding:0 0 0 30px;border-left:1px solid #af8bd0;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;text-align:center}
.ecosystem-practices li{position:relative}.ecosystem-practices li:not(:last-child):after{content:'';position:absolute;width:20px;height:1px;background:#bd9ddc;top:36px;right:-16px}
.ecosystem-practices span{display:grid;place-items:center;width:72px;height:72px;border:1px solid #b89ad3;border-radius:50%;margin:0 auto 13px}.ecosystem-practices svg{width:35px;height:35px;fill:currentColor}.ecosystem-practices p{font-size:16px;line-height:1.25}
.erp-page .methodology{padding-top:80px;padding-bottom:80px}
.erp-page .phase h3{font-family:var(--sans)}
.erp-page .site-footer{padding-top:25px}
@keyframes erp-waves-drift{to{transform:translate(1.2%,.7%) scale(1.02)}}
@keyframes erp-hub-float{50%{transform:translateY(-9px)}}
@keyframes erp-ecosystem-sway{from{transform:translateX(-5%) translateY(0) scaleY(1)}to{transform:translateX(5%) translateY(-24px) scaleY(1.14)}}
@media(min-width:1700px){.erp-hero-inner{min-height:800px}.erp-hub{max-width:700px}.management-card{min-height:290px}.management-featured{min-height:594px}}
@media(max-width:1200px){.erp-page main .container{width:calc(100% - 70px)}.erp-hero-inner{min-height:590px;gap:0}.erp-hero h1{font-size:49px}.erp-hero-copy>p:not(.eyebrow){font-size:16px}.hub-node strong{font-size:15px}.hub-node span{width:30px;height:30px}.management-heading{gap:13px}.management-icon{width:60px;height:60px}.management-card h3{font-size:24px}.management-card{padding:23px 20px}.management-featured h3{font-size:32px}.ecosystem-inner{grid-template-columns:1fr;gap:30px}.ecosystem-practices{border:0;padding:0}.ecosystem-practices li:after{display:none}}
@media(max-width:900px){.erp-page main .container{width:calc(100% - 40px)}.erp-hero-inner{grid-template-columns:1fr;padding:55px 0 45px;gap:40px}.erp-hero-copy{max-width:670px}.erp-hero h1{font-size:clamp(42px,7vw,66px)}.erp-hub{width:100%;max-width:550px;justify-self:center}.hub-node strong{font-size:16px}.erp-page .partner-logos{grid-template-columns:repeat(3,1fr);gap:24px 0}.erp-page .partner-logo:nth-child(3){border:0}.erp-page .partner-logo{padding:0 15px}.management-intro{grid-template-columns:1fr;gap:12px}.management-intro>p{justify-self:start;max-width:600px}.management-grid{grid-template-columns:repeat(2,1fr)}.management-featured{grid-column:1/-1;grid-row:auto;min-height:300px}.management-featured .management-heading{display:flex;align-items:center}.management-featured .management-icon{margin-bottom:0;flex-shrink:0}.management-featured h3{margin-bottom:0}.management-featured .management-link{margin-top:20px}.management-card{min-height:280px}.erp-page .methodology .section-heading h2{font-size:45px}.ecosystem-inner h2{font-size:40px}}
@media(max-width:540px){.erp-page main .container{width:calc(100% - 36px)}.erp-page .eyebrow{font-size:14px;letter-spacing:.13em}.erp-hero h1{font-size:43px}.erp-hero .button-row{gap:10px}.erp-page .button{font-size:14px;padding:12px 17px;min-height:48px}.erp-hub{max-width:370px}.hub-node{border-radius:8px;gap:5px}.hub-node strong{font-size:14px}.hub-node span{width:27px;height:27px}.erp-page .partner-logo{height:45px}.erp-page .partner-logo img{max-height:32px}.management-grid{grid-template-columns:1fr}.management-card{min-height:230px}.management-featured{grid-column:auto;min-height:330px}.management-featured .management-heading{display:block}.management-featured .management-icon{width:72px;height:72px;margin-bottom:20px}.management-card h3,.management-featured h3{font-size:30px}.management-intro h2{font-size:39px}.ecosystem-practices{grid-template-columns:repeat(3,1fr);gap:24px}.ecosystem-practices span{width:64px;height:64px}.ecosystem-practices p{font-size:14px}.erp-page .methodology .section-heading h2{font-size:38px}.erp-management{padding:45px 0 60px}}
/* All management groups are peers; the sixth card is the contact invitation. */
.management-contact{background:#fab612;border-color:#fab612;overflow:hidden;justify-content:flex-start}
.management-contact:before{content:'';position:absolute;inset:0;background:url('assets/backgrounds/tile-waves.svg') center/cover no-repeat;opacity:.45;pointer-events:none;mix-blend-mode:multiply}
.management-contact>*{position:relative}
.management-contact h3{color:#38204f;min-height:85px;display:flex;align-items:center;margin-bottom:16px}
.management-contact p{color:#51413d}
.management-contact .button-ghost{margin-top:auto;align-self:flex-start;background:#fff;color:#442778;min-height:42px;padding:10px 16px;gap:20px}
.management-contact:hover{background:#ffc329;border-color:#ffc329}
.management-contact:hover .button-ghost{background:#fff}
.management-card:hover .management-icon{color:#fab612;background:#442778;--icon-cutout:#442778}
.hub-node svg,.ecosystem-practices svg{transition:color .25s}
.hub-node:hover svg,.hub-node:focus-visible svg,.ecosystem-practices li:hover svg{color:#fab612}
.ecosystem-practices span{transition:border-color .25s,background .25s,box-shadow .25s}
.ecosystem-practices li:hover span{border-color:#fab612;background:#fab61212;box-shadow:0 0 25px #fab61218}
.ecosystem-practices svg{grid-area:1/1;transition:color .25s,opacity .25s}
.ecosystem-practices .practice-filled{opacity:0;color:#fab612}
.ecosystem-practices li:hover .practice-filled{opacity:1}
.ecosystem-practices li:hover .practice-outline{opacity:0}
@media(max-width:540px){.erp-ecosystem{padding:90px 0 118px}}
@media(prefers-reduced-motion:reduce){.erp-hero-backdrop,.hub-core,.erp-ecosystem:after,.erp-ecosystem:before{animation:none}.hub-node,.management-card,.management-icon,.ecosystem-practices svg{transition:none}}
.erp-intro{position:relative;padding:110px 0;background:linear-gradient(180deg,#f7f3fc 0%,#fbf9fe 100%)}
.erp-intro-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:80px}
.erp-intro-media{margin:0;border-radius:18px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 30px 60px -35px rgba(50,20,89,.45)}
.erp-intro-media img{width:100%;height:100%;object-fit:cover}
.erp-intro-copy .eyebrow{margin:0 0 18px}
.erp-intro-copy h2{font-size:clamp(36px,3.1vw,54px);line-height:1.07;margin:0;letter-spacing:-.04em;color:#321459}
.erp-intro-copy .heading-accent{margin-bottom:28px}
.erp-intro-copy>p{font-size:17px;line-height:1.6;color:#5f5272;margin:0 0 16px;max-width:560px}
.erp-intro-points{list-style:none;margin:26px 0 0;padding:24px 0 0;border-top:1px solid #e5deed;display:grid;gap:14px;max-width:560px}
.erp-intro-points li{display:flex;align-items:flex-start;gap:12px;font-size:16px;line-height:1.5;color:#321459;font-weight:500}
.erp-intro-points svg{flex:none;width:24px;height:24px;padding:4px;border-radius:50%;background:#442778;fill:none;stroke:#fab612;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1200px){.erp-intro{padding:90px 0}.erp-intro-layout{gap:50px}}
@media(max-width:900px){.erp-intro{padding:70px 0}.erp-intro-layout{grid-template-columns:1fr;gap:40px}.erp-intro-copy h2{font-size:39px}}
@media(max-width:540px){.erp-intro{padding:56px 0}.erp-intro-media{border-radius:14px}.erp-intro-copy h2{font-size:34px}.erp-intro-copy>p{font-size:16px}}
.erp-hero h1{text-wrap:balance}
/* 2026-10-14: five partners in the strip. */
.erp-page .partner-logos{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:900px){
  .erp-page .partner-logos{display:flex;flex-wrap:wrap;justify-content:center;gap:24px 0}
  .erp-page .partner-logos .partner-logo{flex:0 0 33.333%;border-right:1px solid #dacaf5;padding:0 15px}
  .erp-page .partner-logos .partner-logo:nth-child(3),.erp-page .partner-logos .partner-logo:last-child{border-right:0}
}
.erp-page .partner-helpdesk img{max-width:112px}
@media(max-width:900px){.erp-page .partner-helpdesk img{max-width:86px}}
/* 2026-10-21: ERP allies. The practice stays generic; each ERP product gets its own sheet (softland.html). */
.erp-allies{padding:70px 0;background:#fff}
.erp-allies-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:48px;align-items:center}
.erp-allies h2{font-size:clamp(32px,2.8vw,48px);line-height:1.08;letter-spacing:-.04em;color:#321459;margin:0}
.erp-allies p{font-size:17px;line-height:1.6;color:#5f5272;margin:0;max-width:560px}
.erp-allies .heading-accent{margin-bottom:22px}
.ally-card{display:flex;flex-direction:column;gap:22px;align-items:flex-start;padding:30px 32px;border:1px solid #dacaf5;border-radius:6px;background:#fbf9fe;transition:border-color .2s,box-shadow .2s,transform .2s}
.ally-card img{width:200px;height:auto}
.ally-card>span{font-weight:600;color:var(--purple)}
.ally-card:hover{border-color:var(--purple);box-shadow:0 18px 40px -26px #44277866;transform:translateY(-2px)}
@media(max-width:900px){.erp-allies{padding:56px 0}.erp-allies-inner{grid-template-columns:minmax(0,1fr);gap:28px}}
@media(prefers-reduced-motion:reduce){.ally-card{transition:none}.ally-card:hover{transform:none}}
/* 2026-10-23: management cards open a dialog with the related Softland modules. */
.management-openable{cursor:pointer;transition:border-color .2s,box-shadow .2s}
.management-openable:hover{border-color:#b9a3ec;box-shadow:0 18px 40px -30px #44277880}
.management-more{align-self:flex-end;margin-top:auto;min-height:46px;display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;font:inherit;font-size:15px;font-weight:600;color:var(--purple);cursor:pointer}
.management-more:hover{text-decoration:underline}
.management-more:focus-visible{outline:2px solid var(--purple);outline-offset:4px}
.module-dialog{width:min(720px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:0;border:0;border-radius:10px;background:#fff;color:var(--ink);box-shadow:0 40px 90px -30px #21103e99;overflow:auto}
.module-dialog::backdrop{background:#21103e8c;backdrop-filter:blur(3px)}
.module-dialog-inner{position:relative;padding:38px 40px 34px}
.module-dialog-close{position:absolute;top:14px;right:16px;width:40px;height:40px;border:0;border-radius:50%;background:#f3eefb;color:#321459;font-size:24px;line-height:1;cursor:pointer}
.module-dialog-close:hover{background:#e7defa}
.module-dialog-logo{width:130px;height:auto;margin-bottom:18px}
.module-dialog h3{font-family:var(--serif);font-weight:500;font-size:clamp(26px,2.4vw,34px);line-height:1.1;letter-spacing:-.03em;color:#321459;margin:0;padding-right:40px}
.module-dialog-lead{font-size:16px;color:#6f6081;margin:10px 0 0}
.module-list{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:14px}
.module-list li{padding:18px 20px;border:1px solid #e5deed;border-radius:6px;background:#fbf9fe}
.module-list h4{font-family:var(--sans);font-size:17px;font-weight:600;color:#321459;margin:0 0 8px}
.module-list p{font-size:15.5px;line-height:1.55;color:#5f5272;margin:0}
.module-dialog-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:26px}
.module-dialog-link{font-weight:600;font-size:15px;color:var(--purple)}
.module-dialog-link:hover{text-decoration:underline}
html:has(.module-dialog[open]){overflow:hidden}
.module-dialog[open]{animation:module-dialog-in .38s cubic-bezier(.16,1,.3,1)}
.module-dialog[open]::backdrop{animation:module-backdrop-in .3s ease-out}
.module-dialog[open] .module-list li{animation:module-item-in .45s cubic-bezier(.16,1,.3,1) both}
.module-dialog[open] .module-list li:nth-child(2){animation-delay:.06s}
.module-dialog[open] .module-list li:nth-child(3){animation-delay:.12s}
.module-dialog[open] .module-list li:nth-child(4){animation-delay:.18s}
.module-dialog.is-closing{animation:module-dialog-out .22s cubic-bezier(.4,0,1,1) forwards}
.module-dialog.is-closing::backdrop{animation:module-backdrop-out .22s ease-in forwards}
@keyframes module-dialog-in{from{opacity:0;transform:translateY(24px) scale(.97)}}
@keyframes module-dialog-out{to{opacity:0;transform:translateY(12px) scale(.98)}}
@keyframes module-backdrop-in{from{opacity:0}}
@keyframes module-backdrop-out{to{opacity:0}}
@keyframes module-item-in{from{opacity:0;transform:translateY(10px)}}
@media(prefers-reduced-motion:reduce){.module-dialog[open],.module-dialog[open]::backdrop,.module-dialog[open] .module-list li{animation:none}}
@media(max-width:540px){.module-dialog-inner{padding:30px 22px 26px}.module-dialog-actions .button{width:100%;justify-content:space-between}}
