/* service-web-body.css -- 7 Premium Web Service Sections */

/* -- Shared --------------------------------------------------- */
.wb-sec{position:relative;padding:5rem 0;overflow:hidden;background:var(--clr-surface);}
.wb-lbl{display:inline-flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--clr-accent);margin-bottom:.9rem;padding:.38rem 1rem;border-radius:100px;border:1.5px solid rgba(181,36,106,.4);background:var(--clr-accent-pale);}
.wb-title{font-family:var(--font-headings);font-size:clamp(1.9rem,3.6vw,3rem);font-weight:700;color:var(--clr-primary);line-height:1.15;letter-spacing:-.03em;margin-bottom:1rem;}
.wb-title em{font-style:italic;color:var(--clr-accent);}
.wb-desc{font-size:1rem;color:var(--clr-text-muted);line-height:1.8;max-width:480px;font-weight:300;margin-bottom:1.5rem;}
.wb-split{display:flex;align-items:center;gap:4rem;}
.wb-split-content{flex:1 1 460px;display:flex;flex-direction:column;align-items:flex-start;}
.wb-split-visual{flex:0 0 auto;width:min(46%,500px);}
.wb-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);}
.wb-reveal.in{opacity:1;transform:none;}

/* Section divider line */
.wb-sec::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:80px;height:2px;background:linear-gradient(90deg,transparent,var(--clr-accent),transparent);opacity:.4;}

/* -- S1: Web Application Development --------------------------- */
.wb-s1{background:var(--clr-surface-2);}
.wb-s1-dots{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(26,46,68,.08) 1px,transparent 1px);background-size:28px 28px;pointer-events:none;}
.wb-s1-glow{position:absolute;width:550px;height:550px;border-radius:50%;background:radial-gradient(circle,rgba(181,36,106,.1) 0%,transparent 65%);top:-20%;right:-8%;pointer-events:none;animation:wbGlow 8s ease-in-out infinite alternate;}
@keyframes wbGlow{0%{opacity:.5;transform:scale(.95);}100%{opacity:1;transform:scale(1.05);}}

/* Browser visual */
.wb-browser{background:#fff;border-radius:14px;box-shadow:0 4px 6px rgba(26,46,68,.06),0 24px 64px rgba(26,46,68,.16);border:1px solid rgba(26,46,68,.07);overflow:hidden;transform:perspective(900px) rotateX(3deg) rotateY(-7deg);transition:transform .6s var(--ease-out);}
.wb-split-visual:hover .wb-browser{transform:perspective(900px) rotateX(0deg) rotateY(0deg);}
.wb-bchrome{display:flex;align-items:center;gap:.5rem;padding:.5rem .9rem;background:#f5f5f7;border-bottom:1px solid #e8e8ed;}
.wb-bdot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.wb-bdot:nth-child(1){background:#ff5f57;}.wb-bdot:nth-child(2){background:#febc2e;}.wb-bdot:nth-child(3){background:#28c840;}
.wb-bbar{flex:1;max-width:240px;margin-left:.3rem;background:#fff;border:1px solid #e0e0e8;border-radius:6px;padding:.18rem .7rem;font-size:.67rem;color:#8c8c9c;display:flex;align-items:center;gap:.3rem;}
.wb-bscreen{display:flex;height:220px;}
.wb-bsidebar{width:42px;background:var(--clr-primary);flex-shrink:0;position:relative;}
.wb-bsidebar::after{content:'';position:absolute;top:.9rem;left:50%;transform:translateX(-50%);width:20px;height:20px;border-radius:5px;background:var(--clr-accent);}
.wb-bcontent{flex:1;background:#f8f8fb;padding:.7rem;display:flex;flex-direction:column;gap:.45rem;}
.wb-bhead{height:24px;background:#fff;border-radius:6px;border:1px solid #ebebf0;}
.wb-bkpis{display:flex;gap:.45rem;}
.wb-bkpi{flex:1;background:#fff;border-radius:6px;border:1px solid #ebebf0;padding:.35rem .5rem;font-size:.65rem;font-weight:700;color:var(--clr-primary);display:flex;align-items:center;gap:.3rem;}
.wb-bkpi:nth-child(1){border-left:2.5px solid var(--clr-accent);}
.wb-bkpi:nth-child(2){border-left:2.5px solid #4f8ef7;}
.wb-bkpi:nth-child(3){border-left:2.5px solid #50c878;}
.wb-bchart{flex:1;background:#fff;border:1px solid #ebebf0;border-radius:6px;overflow:hidden;position:relative;}
.wb-bchart-svg{width:100%;height:100%;display:block;}
.wb-bchart-line{fill:none;stroke:var(--clr-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:400;stroke-dashoffset:400;animation:wbLineDraw 1.6s var(--ease-out) 1s forwards;}
.wb-bchart-area{fill:rgba(181,36,106,.07);stroke:none;}
@keyframes wbLineDraw{to{stroke-dashoffset:0;}}

/* Floating badges */
.wb-fbadge{position:absolute;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.9);border-radius:100px;padding:.4rem 1rem;font-size:.72rem;font-weight:700;color:var(--clr-primary);box-shadow:0 8px 24px rgba(26,46,68,.1);white-space:nowrap;}
.wb-fb1{bottom:-12px;left:-20px;animation:wbFloat 5s ease-in-out infinite alternate;}
.wb-fb2{top:-14px;right:-16px;animation:wbFloat 6s ease-in-out 1s infinite alternate;}
@keyframes wbFloat{0%{transform:translateY(0);}100%{transform:translateY(-12px);}}

/* -- S2: PWA ---------------------------------------------------- */
.wb-s2{background:var(--clr-surface);}
.wb-s2-shape{position:absolute;top:0;left:0;right:0;height:100%;background:linear-gradient(135deg,var(--clr-accent-pale) 0%,transparent 55%);pointer-events:none;}

/* Phone */
.wb-phone{width:180px;border-radius:28px;background:#1a2e44;padding:10px;box-shadow:0 24px 64px rgba(26,46,68,.22);margin:0 auto;position:relative;}
.wb-phone-screen{background:#fff;border-radius:20px;overflow:hidden;padding:.6rem;}
.wb-phone-notch{width:60px;height:6px;background:#1a2e44;border-radius:3px;margin:0 auto .6rem;}
.wb-pwa-prompt{display:flex;align-items:center;gap:.5rem;background:var(--clr-accent-pale);border:1.5px solid rgba(181,36,106,.3);border-radius:10px;padding:.5rem .6rem;margin-bottom:.6rem;}
.wb-pwa-icon{font-size:1.2rem;}
.wb-pwa-info{flex:1;display:flex;flex-direction:column;}
.wb-pwa-info strong{font-size:.62rem;font-weight:700;color:var(--clr-primary);}
.wb-pwa-info span{font-size:.55rem;color:var(--clr-text-muted);}
.wb-pwa-add{padding:.25rem .6rem;border-radius:6px;background:var(--clr-primary);color:#fff;font-size:.6rem;font-weight:700;border:none;cursor:pointer;}
.wb-phone-lines{display:flex;flex-direction:column;gap:.35rem;}
.wb-ph-bar{height:5px;border-radius:3px;background:var(--clr-surface-3);}
.wb-ph-wide{width:90%;}.wb-ph-mid{width:65%;}.wb-ph-short{width:45%;}
.wb-ph-blocks{display:flex;gap:.35rem;margin-top:.35rem;}
.wb-ph-block{flex:1;height:36px;border-radius:6px;background:linear-gradient(135deg,var(--clr-accent-pale),var(--clr-surface-3));}

/* PWA feature pills floating around phone */
.wb-pwa-wrap{position:relative;width:260px;margin:0 auto;}
.wb-fpill{position:absolute;background:#fff;border:1.5px solid rgba(181,36,106,.25);border-radius:100px;padding:.35rem .85rem;font-size:.7rem;font-weight:700;color:var(--clr-primary);box-shadow:0 6px 20px rgba(26,46,68,.08);white-space:nowrap;animation:wbFloat var(--d,5s) ease-in-out var(--dl,0s) infinite alternate;}
.wb-fpill:nth-child(2){top:-18px;left:-30px;--d:5.5s;--dl:0s;}
.wb-fpill:nth-child(3){top:-18px;right:-30px;--d:6s;--dl:.5s;}
.wb-fpill:nth-child(4){bottom:-18px;left:-20px;--d:7s;--dl:1s;}
.wb-fpill:nth-child(5){bottom:-18px;right:-20px;--d:5s;--dl:1.5s;}

/* -- S3: AI-Powered --------------------------------------------- */
.wb-s3{background:var(--clr-surface-2);}
.wb-s3-inner{display:flex;align-items:center;gap:3.5rem;}
.wb-neural{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.wb-neural svg{width:100%;height:100%;opacity:.06;}

/* AI panels */
.wb-ai-panels{flex:0 0 auto;width:min(45%,420px);display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.wb-ai-panel{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--clr-border);padding:1.25rem 1.25rem 1rem;display:flex;flex-direction:column;gap:.6rem;transition:all .4s var(--ease-out);box-shadow:0 4px 16px rgba(26,46,68,.05);}
.wb-ai-panel:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(26,46,68,.12);border-color:rgba(181,36,106,.35);}
.wb-ai-icon{font-size:1.5rem;}
.wb-ai-name{font-size:.8rem;font-weight:700;color:var(--clr-primary);}
.wb-ai-bar-track{height:4px;background:var(--clr-surface-3);border-radius:2px;overflow:hidden;}
.wb-ai-bar-fill{height:100%;width:var(--w,80%);background:linear-gradient(90deg,var(--clr-accent),var(--clr-accent-light));border-radius:2px;transform:scaleX(0);transform-origin:left;animation:wbBarFill .9s var(--ease-out) .8s forwards;}
@keyframes wbBarFill{to{transform:scaleX(1);}}
.wb-ai-pct{font-size:.72rem;font-weight:700;color:var(--clr-accent);text-align:right;}

/* -- S4: Ecommerce ---------------------------------------------- */
.wb-s4{background:var(--clr-surface);}
.wb-s4-blob{position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(181,36,106,.07) 0%,transparent 65%);bottom:-20%;left:-10%;pointer-events:none;animation:wbGlow 10s ease-in-out infinite alternate;}
.wb-stats-row{display:flex;gap:2rem;margin-bottom:1.5rem;}
.wb-stat-num{font-family:var(--font-headings);font-size:2rem;font-weight:800;color:var(--clr-primary);display:block;}
.wb-stat-label{font-size:.72rem;font-weight:600;color:var(--clr-text-muted);letter-spacing:.05em;text-transform:uppercase;}

/* Store mockup */
.wb-store{background:#fff;border-radius:var(--radius-xl);box-shadow:0 8px 40px rgba(26,46,68,.12);border:1px solid var(--clr-border);overflow:hidden;}
.wb-store-header{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem;background:var(--clr-primary);}
.wb-store-logo{width:70px;height:14px;background:rgba(255,255,255,.3);border-radius:3px;}
.wb-store-cart{font-size:.8rem;color:#fff;font-weight:700;}
.wb-store-prods{display:flex;gap:.75rem;padding:.85rem;background:var(--clr-surface-2);}
.wb-prod{flex:1;background:#fff;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--clr-border);transition:transform .3s var(--ease-out);}
.wb-prod:hover{transform:translateY(-4px);}
.wb-prod-img{height:70px;position:relative;}
.wb-pi1{background:linear-gradient(135deg,var(--clr-accent-pale) 0%,rgba(181,36,106,.15) 100%);}
.wb-pi2{background:linear-gradient(135deg,rgba(79,142,247,.1) 0%,rgba(79,142,247,.2) 100%);}
.wb-pi3{background:linear-gradient(135deg,var(--clr-surface-3) 0%,var(--clr-surface-2) 100%);}
.wb-prod-info{padding:.5rem .6rem;}
.wb-prod-name{height:6px;background:var(--clr-surface-3);border-radius:3px;margin-bottom:.35rem;}
.wb-prod-price{font-size:.75rem;font-weight:800;color:var(--clr-primary);}
.wb-prod-badge{position:absolute;top:.4rem;left:.4rem;background:var(--clr-accent);color:#fff;font-size:.55rem;font-weight:700;padding:.18rem .45rem;border-radius:4px;}
.wb-store-checkout{padding:.75rem 1rem;background:#fff;border-top:1px solid var(--clr-border);display:flex;align-items:center;justify-content:space-between;}
.wb-checkout-bar{height:8px;width:60%;background:var(--clr-surface-2);border-radius:4px;}
.wb-checkout-btn{font-size:.72rem;font-weight:700;color:#fff;background:var(--clr-primary);padding:.4rem 1rem;border-radius:100px;}

/* -- S5: Custom Portal ------------------------------------------ */
.wb-s5{background:var(--clr-surface-2);}
.wb-s5-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(26,46,68,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(26,46,68,.04) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;}

/* Hub visual */
.wb-hub{position:relative;width:280px;height:280px;margin:0 auto;}
.wb-hub-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--clr-primary) 0%,var(--clr-primary-light) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2;box-shadow:0 8px 24px rgba(26,46,68,.25);}
.wb-hub-center span{font-size:1.3rem;}
.wb-hub-center small{font-size:.5rem;font-weight:700;color:rgba(255,255,255,.8);letter-spacing:.05em;text-transform:uppercase;}
.wb-hub-node{position:absolute;width:54px;height:54px;border-radius:50%;background:#fff;border:2px solid var(--clr-border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.12rem;box-shadow:0 4px 16px rgba(26,46,68,.1);transition:all .3s var(--ease-out);}
.wb-hub-node:hover{border-color:var(--clr-accent);transform:scale(1.15);box-shadow:0 8px 24px rgba(181,36,106,.2);}
.wb-hub-node span{font-size:.9rem;}
.wb-hub-node small{font-size:.45rem;font-weight:700;color:var(--clr-text-muted);letter-spacing:.04em;text-transform:uppercase;}
.wb-hn1{top:0;left:50%;transform:translateX(-50%);}
.wb-hn2{top:20%;right:0;}
.wb-hn3{bottom:20%;right:0;}
.wb-hn4{bottom:0;left:50%;transform:translateX(-50%);}
.wb-hn5{bottom:20%;left:0;}
.wb-hn6{top:20%;left:0;}
.wb-hub-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.wb-hline{stroke:rgba(26,46,68,.12);stroke-width:1.5;stroke-dasharray:4 4;animation:wbDash 15s linear infinite;}
@keyframes wbDash{to{stroke-dashoffset:-40;}}

.wb-s6{background:var(--clr-surface-2);position:relative;}
.wb-s6::before{content:'';position:absolute;top:0;left:0;right:0;height:100%;background-image:radial-gradient(circle,rgba(26,46,68,.06) 1px,transparent 1px);background-size:32px 32px;pointer-events:none;z-index:0;}
.wb-s6-glow{position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(181,36,106,.1) 0%,transparent 65%);top:-20%;right:-8%;pointer-events:none;animation:wbGlow 9s ease-in-out infinite alternate;}
.wb-s6-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3rem;position:relative;z-index:1;}
.wb-s6-header .wb-lbl{border-color:rgba(181,36,106,.4);background:var(--clr-accent-pale);color:var(--clr-accent);}
.wb-s6-header .wb-title{color:var(--clr-primary);}
.wb-s6-header .wb-desc{color:var(--clr-text-muted);margin:0 auto 1.5rem;}
.wb-s6-header .btn-accent{background:linear-gradient(135deg,var(--clr-primary),var(--clr-primary-light));color:#fff;box-shadow:0 8px 24px rgba(26,46,68,.2);}

/* Pipeline */
.wb-pipeline{display:flex;align-items:center;gap:0;width:100%;background:#fff;border:1px solid var(--clr-border);border-radius:var(--radius-xl);padding:1.5rem 2rem;box-shadow:0 8px 32px rgba(26,46,68,.07);}
.wb-pipe-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:1rem .5rem;border-radius:var(--radius-lg);transition:all .35s var(--ease-out);}
.wb-pipe-step:hover{background:var(--clr-accent-pale);transform:translateY(-4px);}
.wb-pipe-icon{font-size:1.8rem;}
.wb-pipe-label{font-family:var(--font-headings);font-size:.9rem;font-weight:700;color:var(--clr-primary);}
.wb-pipe-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem;}
.wb-pipe-tags span{font-size:.62rem;font-weight:600;color:var(--clr-text-muted);background:var(--clr-surface-3);border:1px solid var(--clr-border);border-radius:100px;padding:.18rem .55rem;}
.wb-pipe-arrow{font-size:1.5rem;color:var(--clr-accent);opacity:.6;flex-shrink:0;padding:0 .25rem;}

/* -- S7: Cloud Web ---------------------------------------------- */
.wb-s7{background:var(--clr-surface);}
.wb-s7-floor{position:absolute;bottom:0;left:0;right:0;height:200px;background:linear-gradient(180deg,transparent,rgba(181,36,106,.04));pointer-events:none;}
.wb-s7-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(26,46,68,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(26,46,68,.05) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;}
.wb-s7-inner{display:flex;align-items:center;gap:4rem;}

/* Cloud architecture */
.wb-cloud-arch{flex:0 0 auto;width:min(46%,440px);position:relative;height:280px;}
.wb-cloud-svg{position:absolute;inset:0;width:100%;height:100%;}
.wb-cline{stroke:rgba(26,46,68,.15);stroke-width:1.5;stroke-dasharray:6 4;animation:wbDash 12s linear infinite;}
.wb-cloud-node{position:absolute;display:flex;flex-direction:column;align-items:center;gap:.25rem;cursor:default;}
.wb-cloud-node .wb-cn-box{width:64px;height:64px;border-radius:var(--radius-md);background:#fff;border:1.5px solid var(--clr-border);display:flex;align-items:center;justify-content:center;font-size:1.3rem;box-shadow:0 4px 16px rgba(26,46,68,.1);transition:all .35s var(--ease-out);}
.wb-cloud-node:hover .wb-cn-box{transform:translateY(-5px);border-color:var(--clr-accent);box-shadow:0 12px 32px rgba(181,36,106,.18);}
.wb-cloud-node small{font-size:.62rem;font-weight:700;color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;}
.wb-cn-cdn{top:0;left:50%;transform:translateX(-50%);}
.wb-cn-lb{top:22%;left:50%;transform:translateX(-50%);}
.wb-cn-app1{top:48%;left:18%;}
.wb-cn-app2{top:48%;right:18%;}
.wb-cn-db{bottom:0;left:30%;}
.wb-cn-cache{bottom:0;right:25%;}

/* -- Responsive ------------------------------------------------- */
@media(max-width:900px){
  .wb-split,.wb-s3-inner,.wb-s7-inner{flex-direction:column;text-align:center;}
  .wb-split-content,.wb-s3-inner > *{align-items:center;}
  .wb-split-visual,.wb-ai-panels,.wb-cloud-arch{width:100%;max-width:460px;}
  .wb-pipeline{flex-wrap:wrap;gap:1rem;}
  .wb-pipe-arrow{display:none;}
  .wb-ai-panels{grid-template-columns:1fr 1fr;}
  .wb-stats-row{justify-content:center;}
  .wb-desc{max-width:100%;}
}
@media(max-width:640px){
  .wb-sec{padding:3.5rem 0;}
  .wb-ai-panels{grid-template-columns:1fr;}
  .wb-hub{width:240px;height:240px;}
  .wb-cloud-arch{height:240px;}
  .wb-s6 .wb-pipeline{padding:1rem;}
}
