/* Refinements matched to the approved section references. */
.areas h2,.methodology h2,.area-card h3{font-weight:500}
.site-header,.erp-detail .site-header{position:fixed;inset:0 0 auto;z-index:50;background:#ffffffea;backdrop-filter:blur(18px);border-bottom:1px solid #44277812;box-shadow:0 3px 24px #44277806}.header-inner{min-height:84px}.site-header .brand img{width:112px;height:auto}.site-header nav{font-size:14px;gap:30px}.nav-contact{padding:7px 22px}.erp-detail{padding-top:84px}html{scroll-padding-top:105px}.hero{padding-top:170px}.section>.container{position:relative;z-index:1}.areas{background:#fdfcff url('assets/backgrounds/areas-waves.svg') center top/100% 100% no-repeat}.areas .section-heading{text-align:center;max-width:none;margin-bottom:40px}.areas .eyebrow{font-size:15px;color:#6234e8}.areas h2{font-size:clamp(42px,4vw,67px);letter-spacing:-.055em}.area-grid{grid-template-columns:1.26fr 1fr 1fr;gap:16px}.area-card{border-color:#e0d7fd;border-radius:5px;background:#ffffffc9;min-height:270px;padding:25px 25px 50px;display:grid;grid-template-columns:82px 1fr;grid-template-rows:auto 1fr;column-gap:18px;align-content:start}.area-card .card-top{margin:0;display:block}.area-card .card-top img{width:82px;height:82px}.area-card h3{font-family:var(--serif);font-size:clamp(24px,1.9vw,31px);line-height:1.07;letter-spacing:-.045em;align-self:center}.area-card p{grid-column:1/-1;font-size:18px;margin-top:18px;line-height:1.38}.area-card:not(.area-core) .card-link{position:absolute;right:18px;bottom:17px;background:#f1eafd;width:39px;height:39px;padding:0;display:grid;place-items:center;font-size:25px;transition:background .25s,transform .25s}.area-card:not(.area-core) .card-link:hover{background:#e4d6fc;transform:translateX(3px)}.area-core{display:flex;grid-row:span 3;padding:42px 38px 38px;min-height:842px;background:linear-gradient(135deg,#e4dafd,#f5f0ff);color:var(--deep);transition:background .4s,color .3s}.area-core>img{width:112px;height:112px;margin:0 0 27px}.area-core h3{font-size:clamp(37px,3.2vw,52px);line-height:1.05;letter-spacing:-.05em;margin:0}.area-core p{font-size:22px;line-height:1.4;color:#746588;margin-top:27px}.area-core .card-link{margin-top:auto;font-size:16px;box-shadow:none;color:#231803;padding:14px 23px;gap:12px;white-space:nowrap;min-height:60px;z-index:2}.area-core .core-orbit{inset:0;width:100%;height:100%;border:0;border-radius:0;box-shadow:none;transform:none;background:url('assets/backgrounds/core-card-waves.svg') center bottom/100% 100% no-repeat;opacity:.75}.area-core:hover{background:linear-gradient(135deg,#6646a8,#442778);color:#fff}.area-core:hover p{color:#e9defa}.area-core:hover .card-link{color:#231803}.area-core:hover .core-orbit{opacity:.25}.area-note{min-height:270px;border:1px solid #e0d7fd;border-radius:5px;background:linear-gradient(140deg,#eae2fd,#fbf9ff);position:relative}.area-note:before{content:'';position:absolute;inset:0;background:url('assets/backgrounds/tile-waves.svg') center/cover no-repeat}.erp{background:radial-gradient(ellipse at 100% 10%,#e7dcfa88,transparent 55%),#fefcff;isolation:isolate;overflow:hidden}.erp:after{content:'';position:absolute;inset:0;z-index:0;background:url('assets/backgrounds/erp-waves.svg') center bottom/100% 100% no-repeat;pointer-events:none}.erp-layout{grid-template-columns:.9fr 1.2fr;gap:50px}.erp-system{grid-template-columns:300px 1fr;gap:0;min-height:600px}.erp-platform-stack{height:560px;display:block;position:relative;width:300px}.erp-layer{position:absolute;width:300px;height:160px;left:0;top:calc(var(--layer-index)*96px);z-index:calc(5 - var(--layer-index));mask-size:400% 100%}.erp-layer:nth-child(1){--layer-index:0}.erp-layer:nth-child(2){--layer-index:1}.erp-layer:nth-child(3){--layer-index:2}.erp-layer:nth-child(4){--layer-index:3}.erp-layer:nth-child(5){--layer-index:4}.erp-layer img{width:300px;height:160px;padding:0;object-fit:contain}.erp-platform-stack:before{content:'';position:absolute;left:18px;right:18px;top:70px;bottom:35px;background:linear-gradient(90deg,#b799ec13,#b799ec25);clip-path:polygon(0 0,50% 16%,100% 0,100% 84%,50% 100%,0 84%)}.erp-system:has(.erp-platform-stack) .erp-groups{height:480px;align-self:start;margin-top:33px;grid-template-rows:repeat(5,96px);gap:0;position:relative}.erp-groups li{font-size:19px;line-height:1.28;gap:0;margin-left:67px;padding-left:10px}.erp-groups li:before{display:none}.erp-groups strong{font-weight:600;letter-spacing:-.025em}.erp-groups small{font-size:16px;margin-top:8px;line-height:1.32;color:#746d80;max-width:330px}.erp-connector{position:absolute;width:89px;height:34px;left:-78px;top:calc(50% - 17px);overflow:visible}.erp-connector circle{fill:#6534c6;stroke:#f6f0ff;stroke-width:2}.erp-connector path{fill:none;stroke:#9b7fce;stroke-width:1.9}.erp-groups li:nth-child(n+3) .erp-connector{transform:scaleY(-1)}.methodology{background:radial-gradient(ellipse at 5% 90%,#e4d8fc88,transparent 58%),radial-gradient(ellipse at 96% 5%,#e7dcfb88,transparent 45%),#fdfbff;padding-top:110px;padding-bottom:110px;overflow:hidden}.methodology .section-heading{max-width:none;text-align:left;margin-bottom:70px}.methodology .eyebrow{text-transform:uppercase;font-size:15px;letter-spacing:.15em}.methodology h2{font-size:clamp(44px,4.2vw,70px);letter-spacing:-.055em;line-height:1.03}.methodology .section-heading>p:last-child{font-size:23px;color:#43394f;margin-top:26px}.method-flow{grid-template-columns:1fr 32px 1fr 32px 2.16fr 32px .74fr;gap:8px;align-items:center;margin-top:0}.phase,.execution-cycle .phase{display:flex;flex-direction:column;border:1px solid #f0eafd;border-radius:9px;background:#ffffffed;min-height:310px;padding:23px 20px 13px;box-shadow:0 3px 25px #44277803;position:relative}.phase-symbol{height:72px;width:72px;background:#eee5ff;border-radius:50%;display:grid;place-items:center;margin-bottom:16px;color:#5c32ab}.method-icon{width:38px;height:38px;fill:#6339b2;color:#eee5ff}.phase-symbol .method-icon:has(circle[fill="none"]){color:#6339b2}.phase-symbol .method-icon:has(path[fill="none"]){color:#6339b2}.phase h3{font-family:var(--sans);font-size:22px;font-weight:600;letter-spacing:-.03em;margin-top:0;color:#241248}.phase p{font-size:17px;color:#746c80;line-height:1.36;margin-top:10px;min-height:49px}.deliverable{display:flex;align-items:center;gap:10px;background:#f5efff;padding:8px;border:0;margin-top:auto;min-height:68px;border-radius:6px}.deliverable-symbol{display:grid!important;place-items:center;flex:0 0 42px;width:42px;height:46px;background:#ffc52f;border-radius:4px;margin:0!important}.deliverable-symbol .method-icon{width:30px;height:30px;fill:#372407;color:#ffc52f}.deliverable strong{font-size:14px;line-height:1.25;font-weight:500;color:#5328a6}.execution-cycle{border:0;background:none;padding:0;position:relative}.cycle-phases{grid-template-columns:1fr 32px 1fr;position:relative}.cycle-gap{display:block}.method-loop{position:absolute;inset:-39px 0;width:100%;height:calc(100% + 78px);pointer-events:none;overflow:visible}.method-loop>path{stroke:#6540bb;stroke-width:2;fill:none}.flow-arrow{font-size:34px;color:#6540bb}.project-close{background:#e5d8fc;border:0;border-radius:9px;margin:0;padding:25px 12px;min-height:205px;display:flex;flex-direction:column;justify-content:center;gap:14px;text-align:center}.close-symbol{width:70px;height:70px;border-radius:10px;background:linear-gradient(145deg,#a579f0,#5324a4);display:grid;place-items:center}.close-symbol .method-icon{color:#fff;fill:none;width:40px;height:40px}.project-close p{font-size:21px;color:#241248;line-height:1.25;font-weight:500}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.company-art{background:#f7f2fe}.company-lines{inset:0;width:100%;height:100%;border:0;border-radius:0;transform:none;box-shadow:none;background:url('assets/backgrounds/company-waves.svg') center/cover no-repeat}.partners{background:#fff;padding:40px 0 46px}.partners .eyebrow{font-size:14px;letter-spacing:.18em;margin-bottom:18px}.partners .small-heading{display:none}.partner-logos{margin-top:0}.clients{background:#fff;padding:48px 0 56px}.area-card .card-top,.area-card h3,.area-card p{z-index:1}.site-header nav a{white-space:nowrap}
@media(min-width:1700px){.header-inner{min-height:88px}.site-header .brand img{width:120px}.site-header nav{font-size:15px}.hero{padding-top:190px}.area-card{min-height:286px}.area-core{min-height:890px}.area-card h3{font-size:31px}.area-card p{font-size:20px}.area-core h3{font-size:54px}.area-core p{font-size:24px}.erp-system{grid-template-columns:340px 1fr}.erp-platform-stack{width:340px;height:615px}.erp-layer{width:340px;height:181px;top:calc(var(--layer-index)*108px)}.erp-layer img{width:340px;height:181px}.erp-system:has(.erp-platform-stack) .erp-groups{height:540px;grid-template-rows:repeat(5,108px);margin-top:36px}.erp-groups li{font-size:22px}.erp-groups small{font-size:18px}.phase,.execution-cycle .phase{min-height:330px;padding:26px 23px 15px}.phase h3{font-size:24px}.phase p{font-size:19px}.deliverable strong{font-size:16px}}
@media(max-width:1200px){.area-card{grid-template-columns:62px 1fr;column-gap:14px;padding:22px 20px 48px;min-height:250px}.area-card .card-top img{width:62px;height:62px}.area-card h3{font-size:23px}.area-card p{font-size:16px}.area-core{padding:28px;min-height:782px}.area-core h3{font-size:38px}.area-core p{font-size:20px}.area-core .card-link{white-space:normal;font-size:14px;padding:12px 16px}.erp-layout{grid-template-columns:.85fr 1.15fr;gap:24px}.erp-system{grid-template-columns:230px 1fr;min-height:500px}.erp-platform-stack{width:230px;height:460px}.erp-layer{width:230px;height:122px;top:calc(var(--layer-index)*78px)}.erp-layer img{width:230px;height:122px}.erp-system:has(.erp-platform-stack) .erp-groups{height:390px;grid-template-rows:repeat(5,78px);margin-top:23px}.erp-groups li{font-size:16px;margin-left:43px;padding-left:3px}.erp-groups small{font-size:14px}.erp-connector{width:64px;left:-61px}.methodology h2{font-size:54px}.method-flow{grid-template-columns:1fr 20px 1fr 20px 2.12fr 20px .7fr;gap:6px}.cycle-phases{grid-template-columns:1fr 20px 1fr}.phase,.execution-cycle .phase{padding:18px 13px 12px;min-height:295px}.phase-symbol{width:60px;height:60px}.phase h3{font-size:18px}.phase p{font-size:15px}.deliverable{gap:7px;padding:6px;min-height:65px}.deliverable-symbol{width:34px;flex-basis:34px;height:42px}.deliverable strong{font-size:14px}.project-close p{font-size:17px}.close-symbol{width:58px;height:58px}.flow-arrow{font-size:26px}}
@media(max-width:900px){.header-inner{min-height:72px}.site-header .brand img{width:102px}.site-header nav{top:71px;font-size:15px}.erp-detail{padding-top:72px}html{scroll-padding-top:90px}.hero{padding-top:130px}.areas .section-heading{text-align:center}.areas h2{font-size:43px}.area-grid{grid-template-columns:1fr 1fr;gap:16px}.area-core{min-height:450px;grid-column:1/-1;grid-row:auto;padding:30px}.area-core>img{width:88px;height:88px;margin-bottom:18px}.area-core h3{font-size:42px}.area-core p{font-size:19px;max-width:520px;margin-top:20px}.area-core .card-link{margin-top:40px;max-width:310px;min-height:55px}.area-card:not(.area-core){display:grid;min-height:295px;padding:22px 20px 52px;grid-template-columns:64px 1fr;gap:0 15px}.area-card:not(.area-core) h3{font-size:24px}.area-card:not(.area-core) p{font-size:17px}.area-note{min-height:295px}.erp-layout{grid-template-columns:1fr;gap:30px}.erp-system{grid-template-columns:260px 1fr;max-width:620px;width:100%;margin:0 auto;min-height:540px}.erp-platform-stack{height:490px;width:260px}.erp-layer{width:260px;height:138px;top:calc(var(--layer-index)*84px)}.erp-layer img{width:260px;height:138px}.erp-system:has(.erp-platform-stack) .erp-groups{height:420px;grid-template-rows:repeat(5,84px);margin-top:26px}.erp-groups li{font-size:17px;margin-left:48px}.erp-groups small{font-size:14px}.methodology .section-heading{margin-bottom:50px}.methodology h2{font-size:43px}.methodology .section-heading>p:last-child{font-size:18px}.method-break{display:none}.method-flow{grid-template-columns:1fr;gap:17px;max-width:550px;margin-inline:auto}.phase,.execution-cycle .phase{min-height:250px;padding:25px;display:flex}.phase-symbol{width:62px;height:62px;margin-bottom:15px}.phase h3{font-size:23px}.phase p{font-size:17px;min-height:48px}.deliverable{margin-top:20px;min-height:58px}.deliverable strong{font-size:16px}.deliverable-symbol{width:40px;flex-basis:40px;height:44px}.flow-arrow{transform:rotate(90deg);font-size:28px;line-height:1}.execution-cycle{margin:10px 0;padding:0 28px 0 0}.cycle-phases{grid-template-columns:1fr;gap:22px}.cycle-gap{display:none}.method-loop{inset:0;width:calc(100% + 10px);height:100%;transform:none}.method-loop>path{display:none}.execution-cycle:after{content:'↕';position:absolute;right:0;top:35%;bottom:35%;width:20px;color:#6540bb;font-size:27px;border-right:1px solid #9874d1;display:flex;align-items:center;justify-content:center}.project-close{min-height:150px;flex-direction:row;gap:20px}.project-close p{font-size:23px;text-align:left}.partner-logos{gap:24px 30px}.partners{padding:33px 0 38px}.clients{padding:40px 0}.areas{background-size:auto 100%}}
@media(max-width:540px){.area-grid{grid-template-columns:1fr}.area-card:not(.area-core){min-height:230px;grid-template-columns:72px 1fr;padding:22px 22px 52px}.area-card:not(.area-core) h3{font-size:27px}.area-card .card-top img{width:72px;height:72px}.area-note{min-height:170px}.areas h2{font-size:39px}.area-core h3{font-size:38px}.area-core p{font-size:18px}.erp-system{grid-template-columns:170px 1fr;min-height:420px;align-items:start}.erp-platform-stack{width:170px;height:370px}.erp-layer{width:170px;height:91px;top:calc(var(--layer-index)*63px)}.erp-layer img{width:170px;height:91px}.erp-system:has(.erp-platform-stack) .erp-groups{height:315px;grid-template-rows:repeat(5,63px);margin-top:14px}.erp-groups li{margin-left:25px;padding-left:0;font-size:14px}.erp-groups small{font-size:14px;margin-top:5px}.erp-connector{left:-36px;width:38px;height:22px;top:calc(50% - 11px)}.erp-connector circle{stroke-width:1}.erp-connector path{stroke-width:2.5}.methodology h2{font-size:39px}.methodology .eyebrow{font-size:14px}.methodology .section-heading>p:last-child{font-size:17px}.methodology{padding-top:72px;padding-bottom:72px}}
@media(max-width:360px){.erp-system{grid-template-columns:142px 1fr}.erp-platform-stack,.erp-layer,.erp-layer img{width:142px}.erp-layer,.erp-layer img{height:76px}.erp-layer{top:calc(var(--layer-index)*64px)}.erp-system:has(.erp-platform-stack) .erp-groups{grid-template-rows:repeat(5,64px);margin-top:8px}.erp-groups li{font-size:14px;margin-left:18px}.erp-groups small{font-size:14px}.erp-connector{width:29px;left:-29px}.area-card:not(.area-core){grid-template-columns:60px 1fr;gap:12px}.area-card:not(.area-core) h3{font-size:23px}.area-card .card-top img{width:60px;height:60px}}

/* Keep every glyph visible while the platform silhouettes overlap. */
.areas{background:#fdfcff}.areas:before{content:'';position:absolute;inset:0;background:url('assets/backgrounds/areas-waves.svg') center top/100% 100% no-repeat;opacity:.48;pointer-events:none}
.erp-platform-stack{height:620px}.erp-system{min-height:650px}.erp-layer{top:calc(var(--layer-index)*115px)}.erp-system:has(.erp-platform-stack) .erp-groups{height:575px;grid-template-rows:repeat(5,115px);margin-top:22px}
.phase-symbol .method-icon:has(path[fill="none"]){color:#eee5ff}.phase-symbol .method-icon:has(circle[fill="none"]){color:#6339b2}.deliverable-symbol .method-icon:has(circle){color:#372407}
@media(min-width:1700px){.erp-platform-stack{height:694px}.erp-system{min-height:705px}.erp-layer{top:calc(var(--layer-index)*128px)}.erp-system:has(.erp-platform-stack) .erp-groups{height:640px;grid-template-rows:repeat(5,128px);margin-top:26px}}
@media(max-width:1200px){.erp-platform-stack{height:480px}.erp-system{min-height:510px}.erp-layer{top:calc(var(--layer-index)*89px)}.erp-system:has(.erp-platform-stack) .erp-groups{height:445px;grid-template-rows:repeat(5,89px);margin-top:17px}}
@media(max-width:900px){.erp-platform-stack{height:540px}.erp-system{min-height:570px}.erp-layer{top:calc(var(--layer-index)*100px)}.erp-system:has(.erp-platform-stack) .erp-groups{height:500px;grid-template-rows:repeat(5,100px);margin-top:19px}}
@media(max-width:540px){.erp-platform-stack{height:372px}.erp-system{min-height:410px}.erp-layer{top:calc(var(--layer-index)*70px)}.erp-system:has(.erp-platform-stack) .erp-groups{height:350px;grid-template-rows:repeat(5,70px);margin-top:10px}}
@media(max-width:360px){.erp-platform-stack{height:352px}.erp-system{min-height:380px}.erp-layer{top:calc(var(--layer-index)*69px)}.erp-system:has(.erp-platform-stack) .erp-groups{height:345px;grid-template-rows:repeat(5,69px);margin-top:3px}}
/* Overlap the glass edges without covering the next layer's glyph. */
.erp-platform-stack{height:672px}.erp-system{min-height:680px}.erp-layer{top:calc(var(--layer-index)*128px)}.erp-system:has(.erp-platform-stack) .erp-groups{height:640px;grid-template-rows:repeat(5,128px);margin-top:16px}
@media(min-width:1700px){.erp-platform-stack{height:757px}.erp-system{min-height:765px}.erp-layer{top:calc(var(--layer-index)*144px)}.erp-system:has(.erp-platform-stack) .erp-groups{height:720px;grid-template-rows:repeat(5,144px);margin-top:18px}}
@media(max-width:1200px){.erp-platform-stack{height:514px}.erp-system{min-height:530px}.erp-layer{top:calc(var(--layer-index)*98px)}.erp-system:has(.erp-platform-stack) .erp-groups{height:490px;grid-template-rows:repeat(5,98px);margin-top:12px}}
@media(max-width:900px){.erp-platform-stack{height:578px}.erp-system{min-height:590px}.erp-layer{top:calc(var(--layer-index)*110px)}.erp-system:has(.erp-platform-stack) .erp-groups{height:550px;grid-template-rows:repeat(5,110px);margin-top:14px}}
@media(max-width:540px){.erp-platform-stack{height:387px}.erp-system{min-height:405px}.erp-layer{top:calc(var(--layer-index)*74px)}.erp-system:has(.erp-platform-stack) .erp-groups{height:370px;grid-template-rows:repeat(5,74px);margin-top:8px}}
@media(max-width:360px){.erp-platform-stack{height:328px}.erp-system{min-height:345px}.erp-layer{top:calc(var(--layer-index)*63px)}.erp-system:has(.erp-platform-stack) .erp-groups{height:315px;grid-template-rows:repeat(5,63px);margin-top:6px}}
/* Viewport hero, transparent header and interaction polish. */
.site-header,.erp-detail .site-header{background:transparent;backdrop-filter:none;border-bottom-color:transparent;box-shadow:none;transition:background .3s,box-shadow .3s,backdrop-filter .3s}
.site-header.is-scrolled{background:#fffffff0;backdrop-filter:blur(18px);border-bottom-color:#44277812;box-shadow:0 3px 24px #44277808}
.hero{height:100vh;min-height:0;padding:130px 0 45px}.eyebrow{text-transform:uppercase}.area-card:not(.area-core) .card-link{border-radius:4px;display:flex;align-items:center;justify-content:center;line-height:1}.area-card:not(.area-core) .card-link span{display:block;line-height:1;transform:translateY(-1px)}
.partner-logos{display:grid;grid-template-columns:repeat(6,1fr);gap:40px;align-items:center}.partner-logo{height:70px;display:flex;align-items:center;justify-content:center}.partner-logo img{width:100%;max-width:165px;max-height:55px;object-fit:contain}.partner-microsoft img{max-width:190px}.partner-zoho img{max-width:125px}.partner-prestashop img{max-width:95px;max-height:65px}.partner-avn img{max-width:165px}.partner-licencias img{max-width:170px}
.phase,.execution-cycle .phase{height:320px;min-height:320px}.phase h3{font-size:19px;white-space:nowrap;line-height:1.3;min-height:25px}.phase p{height:65px;min-height:65px;max-height:65px}.deliverable{height:68px;min-height:68px}.method-loop>path{stroke-dasharray:1 7;stroke-linecap:round}.method-loop{opacity:1}.cycle-active .method-loop>path{animation:cycle-dots 3s linear infinite}@keyframes cycle-dots{to{stroke-dashoffset:-80}}
.contact-details>div{position:relative;padding-left:43px}.contact-icon{position:absolute;left:0;top:27px;width:25px;height:25px;fill:none;stroke:#6746a5;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.metrics small,.footer-bottom,.section-label,.micro-label,.tool-caption,.form-bottom small,.field label{font-size:14px}
@media(min-width:1700px){.hero{padding-top:145px;padding-bottom:50px}.phase,.execution-cycle .phase{height:335px;min-height:335px}.phase h3{font-size:21px}}
@media(max-width:1200px){.phase,.execution-cycle .phase{height:315px;min-height:315px}.phase h3{font-size:16px}.phase p{font-size:16px;height:68px;min-height:68px;max-height:68px}.deliverable strong{font-size:14px}.deliverable{height:76px;min-height:76px}.partner-logos{gap:25px}}
@media(max-width:900px){.hero{padding:110px 0 30px}.hero h1{font-size:clamp(32px,5.5vw,49px)}.hero .eyebrow{font-size:14px;letter-spacing:.12em;margin-bottom:22px}.hero-description{font-size:17px;margin-top:22px}.practice-row{margin-top:30px;gap:22px 10px}.practice-row a{font-size:14px}.practice-row img{width:60px;height:60px}.button-row{margin-top:27px}.phase,.execution-cycle .phase{height:300px;min-height:300px}.phase h3{font-size:21px}.phase p{height:60px;min-height:60px;max-height:60px}.deliverable{height:62px;min-height:62px}.partner-logos{grid-template-columns:repeat(3,1fr);gap:24px}.metrics{gap:12px}.metrics small{font-size:14px}.execution-cycle:after{opacity:0}.cycle-active.execution-cycle:after,.cycle-active .execution-cycle:after{opacity:1;border-right-style:dotted;animation:cycle-dots 3s linear infinite}}
@media(max-width:540px){.hero h1{font-size:35px}.hero .eyebrow{font-size:14px;letter-spacing:.045em;margin-bottom:16px}.hero-description{font-size:16px;margin-top:18px}.practice-row{margin-top:25px;gap:18px 8px}.practice-row img{width:54px;height:54px}.practice-row a{font-size:14px;gap:9px}.button-row{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.button-row .button{min-width:0;font-size:14px;padding:12px;gap:8px;text-align:left;min-height:60px}.hero-content{width:calc(100% - 32px)}.partner-logo img{max-width:145px}.partner-logos{gap:15px}.partner-logo{height:58px}.phase h3{font-size:20px}.metrics{grid-template-columns:1fr}.metrics>div{padding-bottom:14px;border-bottom:1px solid #e5deed}.metrics strong{font-size:32px}.form-bottom{flex-wrap:wrap}.footer-bottom{font-size:14px}}
@media(max-height:760px){.hero{padding-top:100px;padding-bottom:20px}.hero .eyebrow{margin-bottom:14px}.hero h1{font-size:clamp(30px,4vw,56px)}.hero-description{font-size:16px;margin-top:18px}.practice-row{margin-top:24px}.practice-row img{width:60px;height:60px}.button-row{margin-top:24px}}
@media(max-width:540px) and (max-height:760px){.hero{padding-top:90px;padding-bottom:15px}.hero h1{font-size:30px}.hero-description{font-size:14px;line-height:1.35;margin-top:14px}.hero .eyebrow{font-size:14px;margin-bottom:12px}.practice-row{margin-top:19px;gap:12px 6px}.practice-row img{width:45px;height:45px}.practice-row a{gap:6px;font-size:14px;line-height:1.1}.button-row{margin-top:19px}.button-row .button{padding:10px;min-height:55px}}
@media(prefers-reduced-motion:reduce){.method-loop,.execution-cycle:after{opacity:1!important}.method-loop>path{animation:none!important}.erp-connector path{stroke-dashoffset:0!important}.erp-connector circle{opacity:1!important}}
/* Compact layout and seamless section transitions. */
.hero-description{font-size:18px;line-height:1.5;max-width:790px;margin:26px auto 0}.hero .button{font-size:16px;min-width:0;min-height:50px;padding:12px 23px;gap:22px}.hero .button-outline{background:transparent}.hero .button-row{margin-top:35px}
.partners,.clients{border-top:0;border-bottom:0;background:linear-gradient(180deg,transparent 0%,#eee9fa77 32%,#eee9fa77 68%,transparent 100%)}
.area-card:not(.area-core){padding-bottom:25px}.area-card h3{font-size:26px}.area-core{align-items:flex-start;min-height:760px;padding:32px}.area-core>img{width:86px;height:86px;margin-bottom:23px}.area-core h3{font-size:41px;margin:0;width:100%;text-align:left}.area-core p{font-size:19px;line-height:1.45;margin-top:20px;max-width:370px}.area-core .card-link{margin-top:24px;font-size:15px;min-height:50px;padding:12px 19px;white-space:normal;align-self:flex-start}.area-grid{align-items:stretch}.area-card:not(.area-core),.area-note{min-height:243px}.area-contact{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:30px;text-align:left}.area-contact h3,.area-contact p,.area-contact .button{z-index:1;position:relative}.area-contact h3{font-size:30px}.area-contact p{font-family:var(--sans);font-size:18px;line-height:1.4;color:#746588;margin-top:15px}.button-ghost{border:0;background:transparent;color:var(--purple);box-shadow:none;padding:8px 0;min-height:42px;font-size:16px}.button-ghost:hover{background:transparent;box-shadow:none}.area-contact .button-ghost{margin-top:15px}.areas-cta,.method-cta{text-align:center;margin-top:34px}
.erp{width:100%;min-height:calc(100vh - 84px);padding:55px 0 65px;display:flex;align-items:center}.erp:after{left:0;right:0;width:100%;background-size:100% 100%}.erp-system{grid-template-columns:250px 1fr;min-height:550px}.erp-platform-stack{width:250px;height:540px}.erp-layer{width:250px;height:133px;top:calc(var(--layer-index)*102px)}.erp-layer img{width:250px;height:133px}.erp-system:has(.erp-platform-stack) .erp-groups{height:510px;grid-template-rows:repeat(5,102px);margin-top:15px}.erp-groups li{font-size:18px;margin-left:60px}.erp-groups small{font-size:15px}.erp-connector{left:-72px;width:81px}.erp h2{font-size:56px}.erp .section-intro{font-size:19px}.erp .button{font-size:15px;min-height:50px;padding:12px 20px}
.execution-cycle{padding:0;isolation:isolate}.execution-cycle:before{content:'';position:absolute;inset:-31px -12px;border:1.5px dashed #9574d1;border-radius:20px;z-index:-1}.iteration-label{position:absolute;top:-57px;left:50%;transform:translateX(-50%);border-radius:17px;background:#e9e1fb;padding:11px 16px;display:flex;align-items:center;gap:12px;white-space:nowrap;color:#4c2c88;font-size:14px;font-weight:500;line-height:1.3;z-index:3}.iteration-label>span{font-size:30px;line-height:1}.method-loop{display:none}.cycle-gap{display:flex;align-items:center;justify-content:center;color:#633aad;font-size:28px}.methodology .section-heading{margin-bottom:100px}.method-cta{margin-top:75px}.execution-cycle:after{display:none}.cycle-active .execution-cycle:before{animation:iteration-border 5s linear infinite}@keyframes iteration-border{50%{border-color:#6540bb}100%{border-color:#9574d1}}
@media(min-width:1700px){.hero-description{font-size:20px;max-width:880px}.hero .button{font-size:17px;min-height:54px;padding:13px 25px}.area-card h3{font-size:28px}.area-core h3{font-size:44px}.area-core p{font-size:21px}.area-core{min-height:800px}.area-card:not(.area-core),.area-note{min-height:256px}.erp-system{grid-template-columns:280px 1fr;min-height:600px}.erp-platform-stack{width:280px;height:590px}.erp-layer{width:280px;height:149px;top:calc(var(--layer-index)*110px)}.erp-layer img{width:280px;height:149px}.erp-system:has(.erp-platform-stack) .erp-groups{height:550px;grid-template-rows:repeat(5,110px);margin-top:19px}.erp-groups li{font-size:20px}.erp-groups small{font-size:16px}}
@media(max-width:1200px){.area-card h3{font-size:23px}.area-core h3{font-size:35px}.area-core p{font-size:18px}.area-core{min-height:750px;padding:27px}.erp-system{grid-template-columns:205px 1fr;min-height:450px}.erp-platform-stack{width:205px;height:445px}.erp-layer{width:205px;height:109px;top:calc(var(--layer-index)*82px)}.erp-layer img{width:205px;height:109px}.erp-system:has(.erp-platform-stack) .erp-groups{height:410px;grid-template-rows:repeat(5,82px);margin-top:13px}.erp-groups li{font-size:16px;margin-left:40px}.erp-groups small{font-size:14px}.erp-connector{left:-58px;width:60px}.erp h2{font-size:46px}.erp .section-intro{font-size:18px}.iteration-label{font-size:14px;padding:9px;gap:6px}.iteration-label>span{font-size:24px}.execution-cycle:before{left:-8px;right:-8px}}
@media(max-width:900px){.hero-description{font-size:16px;max-width:600px}.hero .button-row{margin-top:25px}.area-core{min-height:420px}.area-card:not(.area-core){min-height:250px}.area-core .card-link{margin-top:25px}.erp{min-height:0;padding:60px 0}.erp-system{grid-template-columns:235px 1fr;min-height:505px}.erp-platform-stack{width:235px;height:490px}.erp-layer{width:235px;height:125px;top:calc(var(--layer-index)*91px)}.erp-layer img{width:235px;height:125px}.erp-system:has(.erp-platform-stack) .erp-groups{height:455px;grid-template-rows:repeat(5,91px);margin-top:16px}.erp-groups li{margin-left:48px}.erp-connector{left:-64px;width:67px}.execution-cycle{padding:0;margin:45px 0 30px}.execution-cycle:before{inset:-26px -9px}.cycle-gap{display:flex;min-height:28px;transform:rotate(90deg)}.cycle-phases{gap:12px}.iteration-label{top:-49px}.methodology .section-heading{margin-bottom:55px}.method-cta{margin-top:40px}}
@media(max-width:540px){.hero-description{font-size:15px;line-height:1.4;margin-top:20px}.hero .button{font-size:14px;min-height:50px;padding:10px 12px;gap:10px}.area-core h3{font-size:35px}.area-core>img{width:75px;height:75px}.area-core p{font-size:18px}.area-card:not(.area-core) h3{font-size:24px}.area-card:not(.area-core){min-height:210px;padding-bottom:23px}.area-contact{min-height:250px}.erp-system{grid-template-columns:150px 1fr;min-height:340px}.erp-platform-stack{width:150px;height:335px}.erp-layer{width:150px;height:80px;top:calc(var(--layer-index)*62px)}.erp-layer img{width:150px;height:80px}.erp-system:has(.erp-platform-stack) .erp-groups{height:310px;grid-template-rows:repeat(5,62px);margin-top:9px}.erp-groups li{font-size:14px;margin-left:25px}.erp-groups small{font-size:14px;line-height:1.18;margin-top:4px}.erp-connector{left:-37px;width:40px}.erp-groups li{align-items:flex-start;padding-top:5px}.erp h2{font-size:41px}.erp-groups small{display:none}.iteration-label{white-space:normal;min-width:245px;justify-content:center}}
@media(max-width:360px){.hero-description{font-size:14px}.area-card:not(.area-core) h3{font-size:22px}.erp-system{grid-template-columns:130px 1fr}.erp-platform-stack,.erp-layer,.erp-layer img{width:130px}.erp-layer,.erp-layer img{height:69px}.erp-layer{top:calc(var(--layer-index)*56px)}.erp-platform-stack{height:296px}.erp-system:has(.erp-platform-stack) .erp-groups{height:280px;grid-template-rows:repeat(5,56px);margin-top:6px}.erp-system{min-height:310px}.erp-groups li{font-size:14px;margin-left:20px}.erp-connector{left:-30px;width:31px}}
@media(prefers-reduced-motion:reduce){.iteration-label,.cycle-gap{opacity:1!important}}
.execution-cycle:before{border:0;animation:none}.method-loop{display:block;inset:-31px -12px;width:calc(100% + 24px);height:calc(100% + 62px);z-index:-1}.method-loop>path{display:block;stroke-dasharray:4 6;stroke-width:1.4}.cycle-active .method-loop>path{animation:cycle-dots 4s linear infinite}@media(max-width:900px){.method-loop{inset:-26px -9px;width:calc(100% + 18px);height:calc(100% + 52px)}.method-loop>path{display:block}}
/* Asset and layout polish after the selected chip icon. */
.partners,.clients{background:linear-gradient(180deg,#fdfcff00 0%,#e7def8a6 40%,#e7def8a6 60%,#fdfcff00 100%);isolation:isolate;overflow:visible}
.partners:before,.clients:before{content:'';position:absolute;inset:-75px 0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent 0%,#eae2fa99 40%,#eae2fa99 60%,transparent 100%)}
.area-card:not(.area-core){grid-template-columns:56px 1fr;column-gap:14px;min-height:214px;padding:22px}
.area-card:not(.area-core) .card-top img{width:56px;height:56px}
.area-card:not(.area-core) h3{font-size:19px;line-height:1.13;letter-spacing:-.035em}
.area-card:not(.area-core) p{font-size:16px;line-height:1.4;margin-top:14px}
.area-core{min-height:674px}.area-core p{font-size:18px}
.area-contact{min-height:214px;background:linear-gradient(135deg,#fab61266,#ffdf8b55);border-color:#fab61266}
.area-contact:before{display:none}.area-contact h3{font-size:28px;color:#38204f}.area-contact p{font-size:16px;color:#51413d}.area-contact .button-ghost{color:#442778}
.erp-platform-stack:before{bottom:0}
.iteration-label{top:-68px}
.phase,.execution-cycle .phase,.project-close{transition:translate .25s,box-shadow .25s,border-color .25s}
@media(hover:hover){.phase:hover,.execution-cycle .phase:hover,.project-close:hover{translate:0 -7px;box-shadow:0 15px 35px #44277813;border-color:#cbb8f0}}
.contact-details>div{padding-left:54px;display:grid;grid-template-columns:1fr;row-gap:3px}
.contact-details>div>span{margin-bottom:0}.contact-details>div>p{margin:0}
.contact-icon{width:34px;height:34px;top:50%;transform:translateY(-50%)}
@media(min-width:1700px){.area-card:not(.area-core) h3{font-size:22px}.area-card:not(.area-core) p{font-size:18px}.area-core{min-height:714px}.area-card:not(.area-core),.area-contact{min-height:227px}}
@media(max-width:1200px){.area-card:not(.area-core) h3{font-size:17px}.area-card:not(.area-core) p{font-size:15px}.area-card:not(.area-core){padding:20px;grid-template-columns:48px 1fr;column-gap:12px}.area-card:not(.area-core) .card-top img{width:48px;height:48px}}
@media(max-width:900px){.area-core{min-height:420px}.iteration-label{top:-60px}.area-card:not(.area-core) h3{font-size:20px}.area-card:not(.area-core){min-height:225px}}
@media(max-width:540px){.area-card:not(.area-core) h3{font-size:21px}.area-card:not(.area-core) p{font-size:16px}.area-core p{font-size:17px}.area-card:not(.area-core){min-height:205px}.area-contact{min-height:225px}.partners:before,.clients:before{inset:-45px 0}}


/* Generated flowing ribbons replace procedural consulting waves. */
.area-core .core-orbit{top:auto;bottom:0;height:45%;background:url('assets/backgrounds/consulting-waves.webp') center bottom/cover no-repeat;opacity:.7;mix-blend-mode:multiply}
.erp:after{top:auto;bottom:0;height:320px;background:url('assets/backgrounds/consulting-waves.webp') center bottom/100% 100% no-repeat;mask-image:linear-gradient(transparent,#000 30%);-webkit-mask-image:linear-gradient(transparent,#000 30%)}


/* Let the partner band overlap adjacent sections without a painted backdrop. */
.partners{background:none;border:0;margin-top:-30px;margin-bottom:-30px;padding:56px 0 60px;position:relative;z-index:2;isolation:auto}
.partners:before,.partners:after{content:none;display:none;background:none}
@media(max-width:900px){.partners{margin-top:-18px;margin-bottom:-18px;padding:44px 0 48px}}


/* Supplied client logos share the subdued blue monochrome palette. */
.client-logo{display:flex;align-items:center;justify-content:center;min-width:0;height:64px}.client-logo img{width:100%;max-width:170px;max-height:55px;object-fit:contain}.client-everlast img{max-width:135px}.client-europ img{max-width:160px}@media(max-width:540px){.client-logo{height:48px}.client-logo img{max-height:40px}}


/* Extend the actual hero backdrop underneath the transparent partner logos. */
.hero{height:calc(100vh + var(--partner-extension,216px));margin-bottom:calc(-1 * var(--partner-extension,216px));padding-bottom:calc(45px + var(--partner-extension,216px));background-color:#f7f3fd}
.area-contact{background:#fab61255;border-color:#fab61266;transition:background .25s,translate .25s,box-shadow .25s}.area-contact:hover,.area-contact:focus-visible{background:#fab612;translate:0 -5px;box-shadow:0 12px 28px #fab61226}.area-contact h3,.area-contact p,.area-contact .button-ghost{color:#38204f}
@media(min-width:1700px){.hero{padding-bottom:calc(50px + var(--partner-extension,216px))}}@media(max-width:900px){.hero{padding-bottom:calc(30px + var(--partner-extension,216px))}}@media(max-height:760px){.hero{padding-bottom:calc(20px + var(--partner-extension,216px))}}@media(max-width:540px) and (max-height:760px){.hero{padding-bottom:calc(15px + var(--partner-extension,216px))}}


/* Fade only the extended lower edge and let the following waves overlap it. */
.hero{mask-image:linear-gradient(to bottom,#000 calc(100% - 150px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 150px),transparent 100%)}.areas{background:transparent}


/* Requested service-card type sizes and inverted yellow hover. */
.area-card:not(.area-core) h3,.area-contact h3{font-size:25px;line-height:1.13}.area-core h3{font-size:35px;line-height:1.08}.area-card p,.area-core p,.area-contact p{font-size:16px;line-height:1.4}.area-contact{background:#fab612;padding:22px 18px}.area-contact:hover,.area-contact:focus-visible{background:#fab61255}.area-contact h3{white-space:nowrap;letter-spacing:-.055em}
@media(max-width:1200px) and (min-width:901px){.area-grid{grid-template-columns:1.1fr 1fr 1fr}.area-contact{grid-column:2 / -1}}
@media(max-width:900px) and (min-width:541px){.area-contact{grid-column:1 / -1}}
@media(max-width:360px){.area-contact{padding-left:8px;padding-right:8px}}


.area-card:not(.area-core) p{font-size:16px}


/* Restore the contact-card ribbons and match the service display typography. */
.area-contact:before{content:'';display:block;position:absolute;inset:0;background:url('assets/backgrounds/tile-waves.svg') center/cover no-repeat;opacity:.45;pointer-events:none;mix-blend-mode:multiply}.area-contact h3{font-family:var(--serif);font-weight:500;font-size:25px;letter-spacing:-.035em}.area-contact .button-ghost{background:#fff;color:var(--purple);padding:10px 16px;min-height:42px;gap:20px;border-radius:0;box-shadow:none}.area-contact:hover .button-ghost{background:#fff}


/* Subtle yellow hover and alignment with the neighboring service cards. */
.area-contact{justify-content:flex-start;padding-top:22px;padding-bottom:16px}.area-contact h3{margin-top:14px}.area-contact .button-ghost{margin-top:auto}.area-contact:hover,.area-contact:focus-visible{background:#ffc329}


/* Float the mask and artwork together so the plate edges remain intact. */
.erp-layer{overflow:visible;animation:platform-float 5.8s ease-in-out infinite;will-change:transform}.erp-layer img{animation:none;will-change:auto}.erp-layer:nth-child(2){animation-delay:-1.1s}.erp-layer:nth-child(3){animation-delay:-2.2s}.erp-layer:nth-child(4){animation-delay:-3.3s}.erp-layer:nth-child(5){animation-delay:-4.4s}.erp-platform-stack{overflow:visible}@media(prefers-reduced-motion:reduce){.erp-layer{animation:none}}


.execution-cycle{padding:0 10px}


.client-maruca img{max-height:68px;max-width:155px}@media(max-width:540px){.client-maruca img{max-height:48px}}


/* Move the area-section waves to its lower edge, cropped by ERP. */
.areas{overflow:hidden}.areas:before{top:auto;bottom:-190px;height:430px;background-position:center top;background-size:100% 760px;opacity:.48}
@media(max-width:900px){.areas:before{bottom:-130px;height:320px;background-size:100% 600px}}

/* Full-width editorial company section with boxed text alignment. */
.company-editorial{padding:0;background:#faf8fb;overflow:hidden;isolation:isolate;min-height:760px}
.company-photo{position:absolute;inset:0 0 0 50%;margin:0;z-index:0}.company-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.company-photo:after{content:'';position:absolute;inset:0;background:#4427780d;pointer-events:none}
.company-editorial-inner{position:relative;min-height:760px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:80px 0 48px}
.company-editorial-copy{width:46%;padding-right:25px;position:relative;z-index:1}.company-editorial-copy:before{content:'';position:absolute;right:-30px;bottom:-25px;width:180px;height:360px;background:url('assets/backgrounds/company-waves.svg') center/cover;opacity:.4;z-index:-1;pointer-events:none}.company-editorial-copy h2{font-size:clamp(44px,3.5vw,67px);line-height:1.06}.company-editorial-copy>p:not(.eyebrow){font-size:18px;line-height:1.55;color:var(--gray);margin-top:27px}
.company-since{display:flex;gap:20px;align-items:flex-start;margin-top:32px}.company-since>span{width:32px;height:32px;flex-shrink:0;background:var(--yellow);margin-top:5px}.company-since p{font-family:var(--serif);font-size:27px;line-height:1.05;color:var(--purple)}.company-since em{display:block;font-size:60px;font-style:normal;letter-spacing:-.04em}.company-since small{display:block;font-size:16px;line-height:1.4;color:var(--gray);margin-top:14px}
.company-metrics{display:grid;grid-template-columns:repeat(3,1fr);width:78%;margin-top:44px;padding:28px 30px;background:#eee7f9f5;border-radius:0 0 40px 0;position:relative;z-index:2}.company-metrics>div{padding:0 26px;border-left:1px solid #cdbce6}.company-metrics>div:first-child{padding-left:0;border:0}.company-metrics strong{display:block;font-family:var(--serif);font-size:52px;color:var(--purple);font-weight:400;line-height:1.1}.company-metrics span{display:block;font-size:16px;color:#4c4357;margin-top:8px}.company-metrics small{display:block;font-size:14px;color:#8d829a;margin-top:5px}
@media(min-width:1700px){.company-editorial,.company-editorial-inner{min-height:850px}.company-editorial-inner{padding:100px 0 60px}.company-editorial-copy>p:not(.eyebrow){font-size:20px}.company-metrics{margin-top:50px}}
@media(max-width:1200px){.company-editorial-copy>p:not(.eyebrow){font-size:16px}.company-metrics{width:88%;padding:24px}.company-metrics>div{padding:0 18px}.company-editorial-copy h2{font-size:45px}}
@media(max-width:900px){.company-editorial{min-height:0}.company-editorial-inner{min-height:0;padding:60px 0 0;display:block}.company-photo{position:relative;inset:auto;height:360px;width:100%;margin:0;order:2}.company-editorial{display:flex;flex-direction:column}.company-editorial-inner{order:1}.company-editorial-copy{width:100%;padding-right:0}.company-editorial-copy:before{right:0}.company-editorial-copy h2{font-size:45px}.company-metrics{width:100%;margin:35px 0 -25px;padding:25px 20px}.company-metrics strong{font-size:42px}.company-metrics span{font-size:14px}.company-metrics small{font-size:14px}.company-since{margin-top:25px}.company-since em{font-size:48px}}
@media(max-width:540px){.company-editorial-copy h2{font-size:39px}.company-photo{height:300px}.company-metrics{gap:18px;grid-template-columns:1fr;padding:25px;border-radius:0 0 25px 0}.company-metrics>div,.company-metrics>div:first-child{border:0;border-bottom:1px solid #cdbce6;padding:0 0 15px}.company-metrics>div:last-child{border:0;padding-bottom:0}.company-metrics strong{font-size:38px}.company-editorial-inner{padding-top:50px}.company-since small{font-size:15px}}

/* Gentle photographic breathing and edge-to-edge editorial waves. */
.company-photo{overflow:hidden}.company-photo img{animation:company-photo-breathe 22s ease-in-out infinite;transform-origin:50% 45%;will-change:transform}@keyframes company-photo-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
.company-editorial-copy:before{display:none}.company-editorial:before{content:'';position:absolute;left:0;right:0;bottom:0;height:100%;background:url('assets/backgrounds/company-waves.svg') center bottom/100% 100% no-repeat;opacity:.3;pointer-events:none;z-index:1}.company-editorial-inner{z-index:2}.company-photo img{animation-play-state:paused}.company-editorial.is-in-view .company-photo img{animation-play-state:running}@media(prefers-reduced-motion:reduce){.company-photo img{animation:none;will-change:auto}}


/* Keep the client-logo band free of gradient backgrounds. */
.clients{background:transparent}.clients:before,.clients:after{content:none;display:none;background:none}


/* Company figures use the brand accent against a contrasting band. */
.company-metrics{background:#442778f5}
.company-metrics strong{color:#FAB612;font-variant-numeric:tabular-nums}
.company-metrics span{color:#fff}
.company-metrics small{color:#ddd2ef}
.company-metrics>div{border-color:#ffffff30}

/* Crossfade the ERP card gradients and its inverse icon. */
.area-core{isolation:isolate;background:linear-gradient(135deg,#e4dafd,#f5f0ff);transition:color .65s ease,border-color .65s ease,box-shadow .65s ease}
.area-core:before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#6646a8,#442778);opacity:0;transition:opacity .65s ease;z-index:0;pointer-events:none}
.area-core:hover,.area-core:focus-visible{background:linear-gradient(135deg,#e4dafd,#f5f0ff);color:#fff}
.area-core:hover:before,.area-core:focus-visible:before{opacity:1}
.area-core p{transition:color .65s ease}
.area-core:focus-visible p{color:#e9defa}
.area-core .core-orbit{transition:opacity .65s ease;pointer-events:none}
.area-core:focus-visible .core-orbit{opacity:.25}
.core-icon{position:relative;display:block;flex-shrink:0;width:86px;height:86px;margin:0 0 23px;z-index:1}
.core-icon img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .5s ease}
.core-icon-hover{opacity:0}
.area-core:hover .core-icon-default,.area-core:focus-visible .core-icon-default{opacity:0}
.area-core:hover .core-icon-hover,.area-core:focus-visible .core-icon-hover{opacity:1}
@media(max-width:540px){.core-icon{width:75px;height:75px}}
@media(prefers-reduced-motion:reduce){.area-core,.area-core:before,.area-core p,.area-core .core-orbit,.core-icon img{transition:none}}

.core-icon{border-radius:15px;overflow:hidden}
@media(max-width:540px){.core-icon{border-radius:13px}}

/* Partner and client logos: tinted by default, original colours on hover. Both images share one grid cell, so they overlap exactly. */
.partner-logo,.client-logo{display:grid;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center}
.partner-logo img,.client-logo img{grid-area:1/1;transition:opacity .35s ease}
.partner-logo .logo-color,.client-logo .logo-color{opacity:0}
.partner-logo:hover .logo-color,.client-logo:hover .logo-color{opacity:1}
.partner-logo:hover img:not(.logo-color),.client-logo:hover img:not(.logo-color){opacity:0}
@media(prefers-reduced-motion:reduce){.partner-logo img,.client-logo img{transition:none}}

/* Header: logo on the left with the menu beside it, Contacto as the one boxed button on the far right. */
.site-header nav a[aria-current="page"]{color:var(--purple);font-weight:600}
@media(min-width:901px){
  .site-header nav{flex:1;display:flex;align-items:center;justify-content:space-between;gap:40px;margin-left:56px}
  .nav-group{display:flex;align-items:center;gap:36px;font-size:15px}
  .site-header .nav-contact{border:1px solid var(--purple);padding:8px 24px;color:var(--purple);font-weight:600;transition:background .2s,color .2s}
  .site-header .nav-contact:hover{background:var(--purple);color:#fff}
}
@media(min-width:901px) and (max-width:1200px){.site-header nav{margin-left:36px}.nav-group{gap:24px;font-size:14px}}
@media(max-width:900px){
  .nav-group{display:contents}
  .site-header nav{gap:0}
}
/* Partner strip label: the eyebrow is gone, so the section title is shown instead. */
.partners .small-heading{display:block;margin:0 0 26px;text-align:center;font-size:clamp(24px,2vw,30px);line-height:1.15;letter-spacing:-.02em}
@media(max-width:540px){.partners .small-heading{font-size:24px;margin-bottom:18px}}
/* 2026-10-14: five partners and ten clients after Martín's review; rows stay full or centred. */
.partner-logos{grid-template-columns:repeat(5,minmax(0,1fr))}
.client-logos{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:900px){
  .partner-logos{display:flex;flex-wrap:wrap;justify-content:center;gap:24px}
  .partner-logos .partner-logo{flex:0 0 calc((100% - 48px)/3);min-width:0}
}
@media(max-width:700px){.client-logos{grid-template-columns:repeat(2,minmax(0,1fr))}}
.partner-helpdesk img{max-width:118px}
@media(max-width:900px){.partner-helpdesk img{max-width:92px}}
/* 2026-10-21: clients rotate in the band under the hero; partners moved to the lower band. */
.hero-band .client-logos{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:0;gap:30px}
.client-logo{transition:opacity .45s ease}
.client-logo.is-swapping{opacity:0}
.lower-band .small-heading{display:block;margin:0 0 26px;text-align:center;font-size:clamp(24px,2vw,30px);line-height:1.15;letter-spacing:-.02em}
.lower-band .partner-logos{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1000px;margin-inline:auto}
@media(max-width:900px){
  .hero-band .client-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 16px}
  .lower-band .partner-logos .partner-logo{flex-basis:calc((100% - 24px)/2)}
}
@media(max-width:540px){.lower-band .small-heading{font-size:24px;margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.client-logo{transition:none}}
/* 2026-10-23: areas in three tiers, all white cards (Gonzalo): ERP large on the left, Automation and Data
   Analytics stacked on the right and larger than the rest, then the other three practices in three columns. */
.area-grid.area-tiers{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-areas:"core core core automation automation automation" "core core core analytics analytics analytics" "development development integration integration low-code low-code";gap:16px}
.area-tiers .area-core{grid-area:core;min-height:0}
.area-tiers #automation{grid-area:automation}
.area-tiers #analytics{grid-area:analytics}
.area-tiers #development{grid-area:development}
.area-tiers #integration{grid-area:integration}
.area-tiers #low-code{grid-area:low-code}
.area-tiers .area-card{min-height:0}
.area-tiers .area-feature{padding:26px 28px 28px}
.area-tiers .area-feature p{margin-top:14px}
.feature-link{grid-column:1/-1;justify-self:start;margin-top:16px;font-size:15px;font-weight:600;color:var(--purple)}
/* The link stretches over the whole feature card, so the card is one click target. */
.feature-link:after{content:'';position:absolute;inset:0;z-index:2}
.area-feature{cursor:pointer}
.area-feature:hover .feature-link{text-decoration:underline}
.feature-link:focus-visible{outline:0}
.area-feature:has(.feature-link:focus-visible){outline:3px solid var(--purple);outline-offset:4px}
.area-tiers .area-feature h3{text-wrap:balance}
.area-tiers .area-minor{grid-template-columns:52px 1fr;column-gap:14px;padding:22px 22px 26px}
.area-tiers .area-minor .card-top img{width:52px;height:52px}
.area-tiers .area-minor h3{font-size:clamp(20px,1.45vw,23px)}
.area-tiers .area-minor p{font-size:16px;margin-top:12px}
.area-tiers .area-feature{grid-template-columns:64px 1fr;column-gap:16px}
.area-tiers .area-feature .card-top img{width:64px;height:64px}
.area-tiers .area-feature h3{font-size:clamp(25px,2vw,30px)}
.area-tiers .area-feature p{font-size:17px}
@media(max-width:1100px){.area-tiers .area-minor{grid-template-columns:minmax(0,1fr);row-gap:12px;align-content:start}.area-tiers .area-minor h3{font-size:20px;align-self:start}.area-tiers .area-minor p{margin-top:0}}
@media(max-width:900px){.area-grid.area-tiers{grid-template-columns:minmax(0,1fr);grid-template-areas:"core" "automation" "analytics" "development" "integration" "low-code"}}
/* Optical balance for heavy wordmarks in the rotating client band (slots change company, so target data-logo). */
.client-logo[data-logo="ami"] img{max-height:34px}
@media(max-width:540px){.client-logo[data-logo="ami"] img{max-height:26px}}
/* 2026-10-22: team photo (five people in a row) must never lose anyone. On desktop the panel keeps the photo's
   own 3:2 ratio, vertically centred, instead of filling the section height with a side crop. */
@media(min-width:901px){
  .company-photo{inset:50% 0 auto auto;width:54%;height:auto;aspect-ratio:3/2;transform:translateY(-50%);overflow:hidden}
  .company-photo img{object-position:center 40%}
}
/* 2026-10-27: office photo with softened corners. On desktop it bleeds to the right edge of the viewport, so only
   the inner (left) corners are rounded; on narrow screens it sits inside the content width with all four rounded. */
@media(min-width:901px){.company-photo{border-radius:18px 0 0 18px}}
@media(max-width:900px){.company-photo{width:calc(100% - 40px);margin:0 auto 40px;border-radius:16px}}
@media(max-width:540px){.company-photo{width:calc(100% - 36px);border-radius:14px}}

/* Narrow screens: the metrics band used to overlap the top of the photo by 25px, which cut off the
   office sign once the photo became a rounded card. Keep them separate and center the closing step
   of the method flow, which is narrower than the phases above it. */
@media(max-width:900px){.company-metrics{margin-bottom:28px;border-radius:16px}.company-photo img{object-position:center 20%}.method-flow .project-close{margin-inline:auto}}
@media(max-width:540px){.company-metrics{border-radius:14px}}

/* Longer ERP and methodology headings after the copy review: let the browser balance the lines. */
#erp-title,#method-title,#company-title{text-wrap:balance}

/* Narrow screens: every area card follows the same structure (icon on top, then title, text and link).
   The featured cards used to keep the icon beside the title while the ERP and minor cards stacked it. */
@media(max-width:900px){
  .area-tiers .area-feature,.area-tiers .area-minor{grid-template-columns:minmax(0,1fr);row-gap:14px;align-content:start}
  .area-tiers .area-feature .card-top img,.area-tiers .area-minor .card-top img{width:56px;height:56px}
  .area-tiers .area-feature h3,.area-tiers .area-minor h3{align-self:start}
  .area-tiers .area-feature h3{font-size:25px}
  .area-tiers .area-minor h3{font-size:21px}
  .area-tiers .area-feature h3 br{display:none}
  .area-tiers .area-feature p,.area-tiers .area-minor p{margin-top:0}
  .area-tiers .feature-link{margin-top:4px}
}

/* Mobile: one centered system for every card, ERP intro, method and metrics (Martín, 2026-11-05) */
@media(max-width:900px){
  .area-tiers .area-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}
  .area-tiers .area-card .card-top,.area-tiers .core-icon{margin:0 auto}
  .area-tiers .area-card h3,.area-tiers .area-card p{margin:0;align-self:center}
  .area-tiers .area-core .card-link{margin:10px auto 0}
  .area-tiers .area-core h3,.area-tiers .area-core p{text-align:center}
  .erp-copy,.methodology .section-heading{text-align:center}
  .erp-copy .button{margin-inline:auto}
  .method-flow .phase,.method-flow .execution-cycle .phase{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 22px 22px;margin-top:34px;height:auto;min-height:0}
  .method-flow .phase-symbol{flex:none;width:62px;height:62px;aspect-ratio:1/1;margin:-31px auto 14px}
  .method-flow .phase h3{margin:0}
  .method-flow .phase p{height:auto;min-height:0;max-height:none;margin:8px 0 18px}
  .method-flow .phase p br,.project-close p br{display:none}
  .method-flow .deliverable{align-self:stretch;justify-content:center;margin-top:0}
  .method-flow .project-close{flex-direction:row;justify-content:center;width:100%;max-width:none;min-height:0;margin-inline:0;padding:16px 20px}
  .method-flow .project-close p{text-align:left;white-space:nowrap}
  .company-metrics{display:flex;align-items:center;justify-content:space-evenly}
  .company-metrics>div{flex:0 1 auto;text-align:center}
}
@media(max-width:900px){
  .method-flow .project-close p{font-size:21px;font-weight:600}
  #contact-title{font-size:min(48px,calc((100vw - 44px) / 10.2));white-space:nowrap}
  #contact-title br{display:none}
}
@media(max-width:540px){
  .company-metrics{flex-direction:row;align-items:flex-start;justify-content:space-evenly;gap:0;padding:20px 0}
  .company-metrics>div,.company-metrics>div:first-child,.company-metrics>div:last-child{flex:0 0 auto;padding:0;border:0}
  .company-metrics strong{font-size:clamp(28px,9vw,36px)}
  .company-metrics span{font-size:12px;line-height:1.25;margin-top:6px;white-space:nowrap}
  .method-flow .project-close p{font-size:20px}
}
.metric-break{display:none}
@media(max-width:540px){.metric-break{display:inline}}
/* Mobile hero: practices in 2 columns x 3 rows (icon beside label) to save height, wider side padding */
@media(max-width:540px){
  .hero-content h1,.hero-description,.practice-row{padding-inline:10px}
  .practice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px;margin-top:26px}
  .practice-row a{flex-direction:column;align-items:center;gap:8px;text-align:center;line-height:1.2}
  .practice-row img{flex:none;width:52px;height:52px}
}
@media(max-width:379px){
  .hero-content h1,.hero-description,.practice-row{padding-inline:0}
  .practice-row a{font-size:13px}
  .practice-row img{width:42px;height:42px}
}
@media(max-width:340px){
  .practice-row{column-gap:10px}
  .practice-row a{font-size:12.5px}
  .practice-row img{width:38px;height:38px}
}
/* Mobile hero buttons: stacked full width so each label stays on one line */
@media(max-width:480px){
  .hero .button-row{display:flex;flex-direction:column;align-items:stretch;gap:10px}
  .hero .button-row .button{width:100%;justify-content:space-between;white-space:nowrap}
}
