/* Portal de soluções — catálogo progressivo dos módulos do ERP Infoline. */
.solutions-hero{ padding:clamp(48px,7vw,84px) 0; overflow:hidden; background:radial-gradient(circle at 78% 18%,rgba(47,125,251,.16),transparent 31%),linear-gradient(145deg,#f7faff,#edf4ff 58%,#fbfdff); }
.solutions-hero-inner{ display:grid; grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr); gap:64px; align-items:center; }
.solutions-hero h1{ max-width:14ch; font-size:clamp(42px,4.6vw,64px); }
.solutions-hero .lede{ margin-top:22px; max-width:55ch; }
.solutions-jump{ display:flex; flex-wrap:wrap; gap:9px; margin-top:28px; }
.solutions-jump a{ padding:10px 15px; border:1px solid #cddbee; border-radius:999px; color:var(--blue); background:rgba(255,255,255,.72); font-size:13px; font-weight:800; transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease),background var(--dur) var(--ease); }
.solutions-jump a:hover{ transform:translateY(-2px); border-color:#87afe5; background:#fff; }
.solutions-map{ position:relative; min-height:420px; display:grid; grid-template-rows:auto 1fr auto; overflow:hidden; border:1px solid rgba(97,159,236,.36); border-radius:32px; color:#fff; background:radial-gradient(circle at 50% 43%,rgba(32,120,255,.3),transparent 34%),linear-gradient(145deg,#0d315f 0%,#071c3c 54%,#05152e 100%); box-shadow:0 30px 70px rgba(10,48,101,.22); isolation:isolate; }
.solutions-map::before{ content:""; position:absolute; z-index:-1; inset:0; opacity:.28; background-image:linear-gradient(rgba(118,178,247,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(118,178,247,.12) 1px,transparent 1px); background-size:38px 38px; -webkit-mask-image:linear-gradient(to bottom,transparent,black 20%,black 82%,transparent); mask-image:linear-gradient(to bottom,transparent,black 20%,black 82%,transparent); }
.solutions-map-head,.solutions-map-foot{ position:relative; z-index:4; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 20px; }
.solutions-map-head{ border-bottom:1px solid rgba(255,255,255,.09); }.solutions-map-head span{ display:flex; align-items:center; gap:9px; color:#fff; font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }.solutions-map-head span i,.solutions-map-foot span i{ width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:var(--cyan); box-shadow:0 0 0 5px rgba(73,214,255,.1),0 0 18px rgba(73,214,255,.7); }.solutions-map-head small{ color:#9fb8db; font-size:10px; }
.solutions-map-stage{ position:relative; min-height:300px; }.solutions-map-stage > svg{ position:absolute; z-index:0; inset:0; width:100%; height:100%; overflow:visible; }.solutions-map-orbit{ fill:none; stroke:rgba(109,167,234,.18); stroke-width:1.2; stroke-dasharray:4 8; }.solutions-map-link,.solutions-map-flow{ fill:none; stroke-linecap:round; }.solutions-map-link{ stroke:rgba(128,179,239,.26); stroke-width:1.4; }.solutions-map-flow{ stroke:url(#solutions-map-line); stroke-width:2.2; stroke-dasharray:2 18; animation:solutionsMapFlow 9s linear infinite; }
.solutions-map-core{ position:absolute; z-index:3; left:50%; top:45%; translate:-50% -50%; width:154px; height:154px; display:grid; place-content:center; border:1px solid rgba(130,205,255,.65); border-radius:50%; text-align:center; background:radial-gradient(circle at 35% 25%,#3199ff 0%,#1263cc 30%,#07387f 67%,#05295f 100%); box-shadow:inset -18px -22px 35px rgba(0,13,46,.28),0 0 0 12px rgba(44,132,235,.07),0 25px 55px rgba(0,19,55,.48),0 0 44px rgba(40,139,255,.28); }
.solutions-map-core::before,.solutions-map-core::after{ content:""; position:absolute; border:1px solid rgba(105,190,255,.25); border-radius:50%; inset:-17px; animation:solutionsMapPulse 4.6s ease-in-out infinite; }.solutions-map-core::after{ inset:-34px; border-color:rgba(76,139,230,.13); animation-delay:-2.3s; }.solutions-map-core small{ color:#aee7ff; font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }.solutions-map-core b{ margin-top:4px; color:#fff; font:800 25px var(--font-display); }.solutions-map-core em{ margin-top:5px; color:#c6dcf8; font-size:8.5px; font-style:normal; }
.solutions-map-node{ position:absolute; z-index:3; width:174px; display:grid; grid-template-columns:42px 1fr; gap:11px; align-items:center; padding:11px 13px; border:1px solid rgba(130,190,255,.25); border-radius:15px; color:#fff; background:linear-gradient(135deg,rgba(18,64,119,.95),rgba(7,32,70,.94)); box-shadow:0 16px 32px rgba(0,15,44,.32); backdrop-filter:blur(10px); transition:transform .3s var(--ease),border-color .3s ease,background .3s ease,box-shadow .3s ease; }
.solutions-map-node:hover{ transform:translateY(-3px); border-color:rgba(73,214,255,.7); background:linear-gradient(135deg,rgba(23,84,155,.98),rgba(8,42,89,.98)); box-shadow:0 20px 38px rgba(0,15,44,.42),0 0 26px rgba(35,133,244,.14); }.solutions-map-node > .i{ width:42px; height:42px; padding:10px; border-radius:12px; color:var(--cyan); background:rgba(73,214,255,.1); }.solutions-map-node span{ min-width:0; }.solutions-map-node small,.solutions-map-node b{ display:block; }.solutions-map-node small{ color:#84dfff; font-size:9px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }.solutions-map-node b{ margin-top:3px; color:#fff; font-size:11px; line-height:1.25; }
.solutions-map-node--operation{ left:3.5%; top:7%; }.solutions-map-node--sales{ right:3.5%; top:7%; }.solutions-map-node--management{ left:50%; bottom:2%; translate:-50% 0; }
.solutions-map-foot{ border-top:1px solid rgba(255,255,255,.09); color:#aec4e1; font-size:9.5px; }.solutions-map-foot span{ display:flex; align-items:center; gap:9px; }.solutions-map-foot b{ color:#dceaff; font-size:9.5px; font-weight:700; }
@keyframes solutionsMapFlow{ to{ stroke-dashoffset:-120; } }
@keyframes solutionsMapPulse{ 0%,100%{ opacity:.45; scale:.97; } 50%{ opacity:1; scale:1.03; } }

.solutions-reality{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
.solutions-reality .container{ min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.solutions-reality p{ color:var(--slate); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.solutions-reality .container > div{ display:flex; flex-wrap:wrap; gap:8px; }
.solutions-reality a{ display:inline-flex; align-items:center; gap:6px; padding:9px 12px; border-radius:10px; color:var(--blue); font-size:12.5px; font-weight:800; }
.solutions-reality a:hover{ background:var(--blue-light); }.solutions-reality .i{ width:14px; height:14px; }

.portal-area{ scroll-margin-top:calc(var(--header-h) + 20px); }.portal-area--mist{ background:var(--mist); }
.portal-area-head{ display:grid; grid-template-columns:1.15fr .85fr; gap:50px; align-items:end; margin-bottom:38px; }
.portal-area-head h2{ max-width:20ch; }.portal-area-head > p{ color:var(--slate); line-height:1.7; }
.portal-feature-grid{ display:grid; gap:18px; }.portal-feature-grid--4{ grid-template-columns:repeat(2,minmax(0,1fr)); }.portal-feature-grid--3{ grid-template-columns:1.05fr .95fr; }.portal-feature-grid--3 .portal-feature:last-child{ grid-column:1/-1; }.portal-feature-grid--2{ grid-template-columns:1.05fr .95fr; }.portal-feature-grid--1{ grid-template-columns:minmax(0,820px); }
.portal-feature-grid--4>.portal-feature:last-child:nth-child(odd){grid-column:1/-1}
.portal-feature{ min-height:390px; display:grid; grid-template-columns:.88fr 1.12fr; gap:24px; align-items:center; padding:32px; overflow:hidden; border:1px solid #cfdbec; border-radius:26px; background:linear-gradient(145deg,#fff,#f2f7fd); box-shadow:0 16px 36px rgba(10,48,101,.08); transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .3s ease; }
.portal-feature:hover{ transform:translateY(-4px); border-color:#84afe7; box-shadow:0 24px 50px rgba(10,48,101,.13); }
.portal-feature-copy{ min-width:0; }.portal-feature-label{ display:inline-flex; align-items:center; gap:7px; color:var(--blue); font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.portal-feature-label .i{ width:16px; height:16px; }
.portal-feature h3{ margin-top:15px; font-size:clamp(27px,3vw,40px); }.portal-feature p{ margin-top:11px; color:var(--slate); font-size:14px; line-height:1.6; }.portal-feature-link{ display:inline-flex; align-items:center; gap:7px; margin-top:25px; color:var(--blue); font-size:13px; font-weight:800; }.portal-feature-link .i{ width:15px; height:15px; transition:transform var(--dur) var(--ease); }.portal-feature:hover .portal-feature-link .i{ transform:translateX(4px); }
.portal-preview{ min-width:0; padding:18px; border:1px solid rgba(153,193,244,.22); border-radius:18px; color:#fff; background:linear-gradient(145deg,#0d2850,#06142b); box-shadow:0 20px 42px rgba(7,22,51,.22); }
.portal-preview header{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding-bottom:13px; border-bottom:1px solid rgba(255,255,255,.09); font-size:10px; }.portal-preview header span{ color:#b8cae4; }.portal-preview header b{ color:#fff; }
.portal-preview--pcpm > i{ display:block; height:9px; margin-top:20px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.11); }.portal-preview--pcpm > i u{ display:block; width:72%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--blue-2),var(--cyan)); }
.portal-preview--pcpm > div,.portal-preview--commercial > div{ display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:18px; }.portal-preview--pcpm > div span,.portal-preview--commercial > div span{ padding:11px; border-radius:11px; background:rgba(255,255,255,.07); }.portal-preview small,.portal-preview strong,.portal-preview--pcpm span b{ display:block; }.portal-preview small{ color:#94a9c8; font-size:8px; }.portal-preview--pcpm span b{ margin-top:4px; color:#fff; font-size:10px; }
.portal-preview--commercial strong{ margin-top:4px; font:800 15px var(--font-display); }.portal-preview--commercial > div span:last-child strong{ color:#75e0b7; }.portal-preview--commercial footer{ display:flex; align-items:center; gap:6px; margin-top:13px; color:#c4d3e9; font-size:8.5px; }.portal-preview--commercial footer i{ width:7px; height:7px; border-radius:50%; background:#38bc85; }.portal-preview--commercial footer em{ margin-left:auto; padding:4px 6px; border-radius:99px; color:#ffc968; background:rgba(255,190,70,.12); font-style:normal; }
.portal-preview--purchases > div{ display:grid; grid-template-columns:1.25fr .75fr; gap:9px; margin-top:18px; }.portal-preview--purchases > div span{ padding:11px; border-radius:11px; background:rgba(255,255,255,.07); }.portal-preview--purchases strong{ margin-top:4px; font:800 13px var(--font-display); }.portal-preview--purchases footer{ display:flex; align-items:center; gap:8px; margin-top:14px; color:#b8cae4; font-size:8.5px; }.portal-preview--purchases footer i{ flex:1; height:1px; background:rgba(255,255,255,.18); }
.portal-preview--financial > div{ display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:18px; }.portal-preview--financial > div span{ padding:11px; border-radius:11px; background:rgba(255,255,255,.07); }.portal-preview--financial strong{ margin-top:4px; font:800 14px var(--font-display); }.portal-preview--financial > div span:first-child strong{ color:#75e0b7; }.portal-preview--financial footer{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:13px; padding:10px 11px; border-radius:10px; color:#c4d3e9; background:rgba(47,125,251,.16); }.portal-preview--financial footer strong{ color:#fff; }
.portal-preview--costs > div{ display:grid; grid-template-columns:.75fr 1.25fr; gap:9px; margin-top:18px; }.portal-preview--costs > div span{ padding:11px; border-radius:11px; background:rgba(255,255,255,.07); }.portal-preview--costs strong{ margin-top:4px; font:800 14px var(--font-display); }.portal-preview--costs > div span:first-child strong{ color:var(--cyan); }.portal-preview--costs footer{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:13px; padding:10px 11px; border-radius:10px; color:#c4d3e9; background:rgba(47,125,251,.16); }.portal-preview--costs footer strong{ color:#75e0b7; }
.portal-preview--crm > div{ display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:18px; }.portal-preview--crm > div span{ padding:11px; border-radius:11px; background:rgba(255,255,255,.07); }.portal-preview--crm strong{ margin-top:4px; font:800 13px var(--font-display); }.portal-preview--crm > div span:first-child strong{ color:var(--cyan); }.portal-preview--crm footer{ display:flex; align-items:center; gap:7px; margin-top:13px; color:#c4d3e9; font-size:8.5px; }.portal-preview--crm footer i{ width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:#ffc968; }.portal-preview--crm footer b{ margin-left:auto;color:#ffc968;font-size:8px; }
.portal-preview--ecommerce > div{ display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:18px; }.portal-preview--ecommerce > div span{ padding:11px; border-radius:11px; background:rgba(255,255,255,.07); }.portal-preview--ecommerce strong{ margin-top:4px; font:800 13px var(--font-display); }.portal-preview--ecommerce > div span:first-child strong{ color:var(--cyan); }.portal-preview--ecommerce footer{ display:flex; align-items:center; gap:7px; margin-top:13px; color:#c4d3e9; font-size:8.5px; }.portal-preview--ecommerce footer i{ width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:#38bc85; }.portal-preview--ecommerce footer b{ margin-left:auto;color:#ffc968;font-size:8px; }
.portal-preview--accounting > div{ display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:18px; }.portal-preview--accounting > div span{ padding:11px; border-radius:11px; background:rgba(255,255,255,.07); }.portal-preview--accounting strong{ margin-top:4px; font:800 14px var(--font-display); }.portal-preview--accounting > div span:first-child strong{ color:var(--cyan); }.portal-preview--accounting > div span:last-child strong{ color:#ffc968; }.portal-preview--accounting footer{ display:flex; align-items:center;gap:7px;margin-top:13px;color:#c4d3e9;font-size:8.5px}.portal-preview--accounting footer i{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#4b93ed}.portal-preview--accounting footer b{margin-left:auto;color:#fff;font-size:8px}
.portal-preview--controllership > div{ display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:18px; }.portal-preview--controllership > div span{ padding:11px; border-radius:11px; background:rgba(255,255,255,.07); }.portal-preview--controllership strong{ margin-top:4px; font:800 14px var(--font-display); }.portal-preview--controllership > div span:first-child strong{ color:var(--cyan); }.portal-preview--controllership > div span:last-child strong{ color:#75e0b7; }.portal-preview--controllership footer{ display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:13px;padding:10px 11px;border-radius:10px;color:#c4d3e9;background:rgba(47,125,251,.16);font-size:8.5px}.portal-preview--controllership footer b{color:#ffc968}
.portal-preview--hr > div{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.portal-preview--hr > div span{padding:11px;border-radius:11px;background:rgba(255,255,255,.07)}.portal-preview--hr strong{margin-top:4px;font:800 14px var(--font-display)}.portal-preview--hr > div span:first-child strong{color:var(--cyan)}.portal-preview--hr > div span:last-child strong{color:#75e0b7}.portal-preview--hr footer{display:flex;align-items:center;gap:7px;margin-top:13px;color:#c4d3e9;font-size:8.5px}.portal-preview--hr footer i{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#ffc968}.portal-preview--hr footer b{margin-left:auto;color:#fff;font-size:8px}
.portal-preview--processes>header b{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-preview--processes>div{display:grid;gap:6px;margin-top:14px}.portal-preview--processes>div span{display:grid;grid-template-columns:auto 1fr;gap:7px;align-items:center;padding:6px 8px;border-radius:8px;color:#aebfda;background:rgba(255,255,255,.05)}.portal-preview--processes>div i{width:17px;height:17px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;font:800 7px var(--font-display);font-style:normal}.portal-preview--processes>div b{font-size:8px}.portal-preview--processes>div .done{color:#76dfb7}.portal-preview--processes>div .active{color:#fff;background:rgba(47,125,251,.22)}.portal-preview--processes>div .active i{border-color:var(--cyan);color:var(--cyan)}.portal-preview--processes footer{display:flex;align-items:center;justify-content:space-between;margin-top:11px;padding-top:9px;border-top:1px solid rgba(255,255,255,.1)}.portal-preview--processes footer small{color:#94a9c8}.portal-preview--processes footer strong{color:var(--cyan);font-size:10px}
.portal-rack{ display:grid; grid-template-columns:auto repeat(3,1fr); gap:6px; align-items:center; margin-top:18px; }.portal-rack span{ color:#94a9c8; font-size:8px; }.portal-rack i{ height:28px; border:1px solid rgba(255,255,255,.13); border-radius:5px; background:rgba(255,255,255,.05); }.portal-rack i.full{ background:rgba(59,132,225,.34); }.portal-rack i.hit{ border-color:var(--cyan); background:rgba(73,214,255,.22); box-shadow:0 0 0 2px rgba(73,214,255,.09); }.portal-preview--wms footer{ display:flex; justify-content:space-between; gap:8px; margin-top:14px; color:#a8bbd7; font-size:8.5px; }.portal-preview--wms footer strong{ color:#fff; }
.portal-module-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }.portal-module-grid--after-featured{ margin-top:18px; }
.portal-module{ min-height:118px; display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; padding:20px; border:1px solid var(--line); border-radius:18px; background:#fff; transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease); }.portal-module:hover{ transform:translateY(-3px); border-color:#8fb5e6; box-shadow:var(--shadow-md); }
.portal-module-icon{ width:43px; height:43px; display:grid; place-items:center; border-radius:12px; color:var(--blue); background:var(--blue-light); }.portal-module h3{ font-size:15px; }.portal-module p{ margin-top:4px; color:var(--slate); font-size:11.5px; line-height:1.45; }.portal-module-arrow{ width:16px; height:16px; color:#7c99bd; transition:transform var(--dur) var(--ease); }.portal-module:hover .portal-module-arrow{ transform:translateX(3px); color:var(--blue); }
.portal-module--integration{border-color:#b8d2f2;background:linear-gradient(135deg,#fff,#f2f8ff)}.portal-module--integration .portal-module-icon{color:#fff;background:linear-gradient(145deg,#1470df,#0b4eab);box-shadow:0 8px 18px rgba(20,112,223,.2)}.portal-module-eyebrow{display:block;margin-bottom:5px;color:var(--blue);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}

@media (max-width:1080px){
  .solutions-hero-inner{ grid-template-columns:1fr; }.solutions-hero h1{ max-width:18ch; }.solutions-map{ width:100%; max-width:720px; min-height:410px; margin-inline:auto; }
  .portal-feature-grid--4,.portal-feature-grid--3,.portal-feature-grid--2{ grid-template-columns:1fr; }.portal-feature-grid--3 .portal-feature:last-child{ grid-column:auto; }.portal-feature-grid--1{ grid-template-columns:1fr; }.portal-feature{ grid-template-columns:.85fr 1.15fr; }
  .portal-feature-grid--4>.portal-feature:last-child:nth-child(odd){grid-column:auto}
  .portal-module-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px){
  .solutions-hero{ padding-top:36px; }.solutions-hero h1{ font-size:clamp(36px,11vw,50px); }.solutions-map{ min-height:400px; border-radius:26px; }.solutions-map-head,.solutions-map-foot{ padding:14px 16px; }.solutions-map-stage{ min-height:300px; }.solutions-map-core{ width:122px; height:122px; }.solutions-map-core b{ font-size:21px; }.solutions-map-core::before{ inset:-12px; }.solutions-map-core::after{ inset:-24px; }.solutions-map-node{ width:150px; grid-template-columns:36px 1fr; gap:8px; padding:10px; }.solutions-map-node > .i{ width:36px; height:36px; padding:9px; }.solutions-map-node--operation{ left:2%; }.solutions-map-node--sales{ right:2%; }
  .solutions-reality .container{ align-items:flex-start; flex-direction:column; padding-block:18px; gap:10px; }.solutions-reality .container > div{ display:grid; width:100%; }.solutions-reality a{ justify-content:space-between; }
  .portal-area-head{ grid-template-columns:1fr; gap:14px; }.portal-feature{ grid-template-columns:1fr; min-height:0; padding:22px; }.portal-preview{ margin-top:4px; }
  .portal-module-grid{ grid-template-columns:1fr; }.portal-module{ min-height:100px; }
}
@media (max-width:430px){
  .solutions-map{ min-height:390px; }.solutions-map-head small,.solutions-map-foot b{ display:none; }.solutions-map-stage{ min-height:290px; }.solutions-map-core{ top:47%; width:108px; height:108px; }.solutions-map-core b{ font-size:18px; }.solutions-map-core em{ max-width:72px; margin-inline:auto; }.solutions-map-node{ width:132px; grid-template-columns:31px 1fr; padding:9px 8px; }.solutions-map-node > .i{ width:31px; height:31px; padding:8px; }.solutions-map-node small{ font-size:8px; }.solutions-map-node b{ font-size:9.5px; }.solutions-map-node--operation{ left:2%; top:7%; }.solutions-map-node--sales{ right:2%; top:7%; }.solutions-map-node--management{ bottom:1%; }
  .portal-preview--pcpm > div,.portal-preview--commercial > div,.portal-preview--purchases > div,.portal-preview--financial > div,.portal-preview--costs > div,.portal-preview--crm > div,.portal-preview--ecommerce > div,.portal-preview--accounting > div,.portal-preview--controllership > div,.portal-preview--hr > div{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce){ .portal-feature,.portal-module,.portal-feature-link .i,.portal-module-arrow,.solutions-map-node{ transition:none; }.solutions-map-flow,.solutions-map-core::before,.solutions-map-core::after{ animation:none; } }
