.web-detail-page #bg-canvas{opacity:.25}.web-detail-page .is-current{color:var(--text2);border-color:var(--border2);background:rgba(255,255,255,.03)}.breadcrumb,.cta-bottom,.other-services,.sec,.svc-hero{position:relative;z-index:10;max-width:1200px;margin:0 auto}.breadcrumb,.other-services,.sec,.svc-hero{padding-left:3rem;padding-right:3rem}.breadcrumb{padding-top:7rem;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.bc-item{font-family:var(--mono);font-size:.65rem;letter-spacing:.08em;color:var(--text3);text-decoration:none;transition:color .2s ease}.bc-item:hover{color:var(--text2)}.bc-sep{color:var(--text3);font-size:.6rem}.bc-current{color:var(--v2)}.svc-hero{padding-top:2.5rem}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:4rem;align-items:center}.hc-row>*,.hero-card,.hero-grid>*,.hero-left,.includes-grid>*,.modalities>*,.p-header>*,.p-step>*,.types-grid>*{min-width:0}.hero-kicker{display:flex;align-items:center;gap:.6rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;color:var(--v2);margin-bottom:1.25rem}.kicker-icon{width:32px;height:32px;border-radius:8px;background:var(--vd);border:1px solid rgba(139,92,246,.2);display:flex;align-items:center;justify-content:center;font-size:.85rem}.hero-left h1{font-family:var(--head);font-size:clamp(3rem, 5.5vw, 5rem);font-weight:800;letter-spacing:-.05em;line-height:.95;margin-bottom:1.5rem;text-wrap:balance}.h1-sub{background:linear-gradient(135deg,var(--v2),var(--teal));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-desc{font-size:1rem;color:var(--text2);line-height:1.8;max-width:500px;margin-bottom:2.5rem}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.web-detail-page .cta-btns .btn-glow,.web-detail-page .cta-btns .btn-outline,.web-detail-page .hero-actions .btn-glow,.web-detail-page .hero-actions .btn-outline{padding:.85rem 1.8rem;font-size:.88rem}.hero-card{background:var(--bg2);border:1px solid var(--border2);border-radius:20px;padding:2rem;position:relative;overflow:hidden}.hero-card-glow{position:absolute;top:-60px;right:-60px;width:200px;height:200px;background:radial-gradient(ellipse,rgba(139,92,246,.1),transparent 70%);pointer-events:none}.hc-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--border)}.hc-row:last-child{border-bottom:none}.hc-label{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;color:var(--text3);text-transform:uppercase}.hc-val{font-size:.85rem;font-weight:600;color:var(--text1);text-align:right}.hc-val.accent{color:var(--v2)}.hc-val.teal{color:var(--teal)}.hc-badge{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--mono);font-size:.6rem;background:var(--teald);color:var(--teal);border:1px solid rgba(45,212,191,.2);padding:.2rem .55rem;border-radius:4px}.hc-badge::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--teal);box-shadow:0 0 4px var(--teal)}.sec{padding-top:5rem;padding-bottom:5rem}.sec-divider{height:1px;background:var(--border);max-width:1200px;margin:0 auto;margin-left:calc((100vw - min(1200px,calc(100vw - 96px)))/ 2 + 3rem);margin-right:3rem}.sec-kicker{font-family:var(--mono);font-size:.65rem;letter-spacing:.14em;color:var(--v2);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.sec-kicker::before{content:"";width:16px;height:1px;background:var(--v2)}.sec-h2{font-family:var(--head);font-size:clamp(1.6rem, 3vw, 2.4rem);font-weight:800;letter-spacing:-.04em;line-height:1.05;margin-bottom:1rem}.sec-desc{font-size:.92rem;color:var(--text2);line-height:1.8;max-width:540px}.types-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:20px;overflow:hidden;margin-top:3rem}.type-card{background:var(--bg);padding:2rem;transition:background .3s ease;position:relative;overflow:hidden}.type-card::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 0 0,var(--vd2),transparent 60%);opacity:0;transition:opacity .4s ease}.type-card:hover{background:var(--bg3)}.type-card:hover::after{opacity:1}.type-num{font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;color:var(--text3);margin-bottom:1rem}.type-icon{display:block;font-size:1.4rem;margin-bottom:1rem}.type-name{font-family:var(--head);font-size:1rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.5rem}.type-desc{font-size:.8rem;color:var(--text2);line-height:1.7}.type-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:1rem}.ttag{font-family:var(--mono);font-size:.58rem;letter-spacing:.05em;color:var(--text3);background:rgba(255,255,255,.03);border:1px solid var(--border);padding:.18rem .55rem;border-radius:3px}.process-timeline{margin-top:3.5rem;position:relative}.process-timeline::before{content:"";position:absolute;left:23px;top:24px;bottom:24px;width:1px;background:linear-gradient(to bottom,var(--v),rgba(139,92,246,.1))}.p-step{display:grid;grid-template-columns:48px minmax(0,1fr);gap:1.5rem;margin-bottom:.75rem}.p-step:last-child{margin-bottom:0}.p-bubble{width:48px;height:48px;border-radius:50%;background:var(--bg2);border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.65rem;color:var(--v2);position:relative;z-index:1;flex-shrink:0;transition:all .3s ease}.p-step:hover .p-bubble{background:var(--vd);border-color:var(--v);box-shadow:0 0 16px rgba(139,92,246,.25)}.p-body{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:1.5rem;transition:border-color .3s ease}.p-step:hover .p-body{border-color:var(--border2)}.p-body-highlight{border-color:rgba(45,212,191,.2);background:rgba(45,212,191,.04)}.p-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem;flex-wrap:wrap;gap:.5rem}.p-title{font-family:var(--head);font-size:.95rem;font-weight:800;letter-spacing:-.02em}.p-title-highlight{color:var(--teal)}.p-duration{font-family:var(--mono);font-size:.6rem;color:var(--text3);background:rgba(255,255,255,.03);border:1px solid var(--border);padding:.2rem .6rem;border-radius:4px}.p-desc{font-size:.82rem;color:var(--text2);line-height:1.7;margin-bottom:.8rem}.p-deliverables{display:flex;flex-wrap:wrap;gap:.4rem}.p-del{font-family:var(--mono);font-size:.6rem;color:var(--teal);background:var(--teald);border:1px solid rgba(45,212,191,.15);padding:.18rem .6rem;border-radius:4px}.includes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:3rem}.inc-card{background:var(--bg2);border:1px solid var(--border2);border-radius:16px;padding:2rem}.inc-title{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}.inc-title.yes{color:var(--teal)}.inc-title.no{color:var(--text3)}.inc-list{display:flex;flex-direction:column;gap:.6rem}.inc-item{display:flex;align-items:flex-start;gap:.7rem;font-size:.82rem;line-height:1.5}.inc-check{width:18px;height:18px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:.6rem;flex-shrink:0;margin-top:1px}.ic-yes{background:var(--teald);border:1px solid rgba(45,212,191,.2);color:var(--teal)}.ic-no{background:rgba(255,255,255,.03);border:1px solid var(--border);color:var(--text3)}.inc-item-text{color:var(--text2)}.inc-item-text.muted{color:var(--text3)}.stack-section{margin-top:3rem}.stack-category{margin-bottom:2rem}.stack-cat-label{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;color:var(--text3);margin-bottom:.85rem}.stack-pills{display:flex;flex-wrap:wrap;gap:.6rem}.stack-pill{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;color:var(--text2);background:var(--bg2);border:1px solid var(--border2);padding:.55rem 1rem;border-radius:8px;transition:all .2s ease}.stack-pill:hover{color:var(--text1);border-color:var(--border3);background:var(--bg3)}.sp-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.modalities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:3rem}.mod-card{background:var(--bg2);border:1px solid var(--border2);border-radius:16px;padding:2rem;position:relative;transition:border-color .3s ease}.mod-card.recommended{border-color:rgba(139,92,246,.3)}.mod-rec-badge{position:absolute;top:-1px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:.58rem;letter-spacing:.08em;color:var(--v3);background:var(--v);padding:.2rem .75rem;border-radius:0 0 8px 8px}.mod-name{font-family:var(--head);font-size:1rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.25rem;margin-top:.5rem}.mod-price{font-family:var(--head);font-size:1.8rem;font-weight:800;letter-spacing:-.04em;color:var(--v2);margin:.75rem 0 .2rem}.mod-price-sub{font-family:var(--mono);font-size:.62rem;color:var(--text3);margin-bottom:1.25rem}.mod-list{display:flex;flex-direction:column;gap:.5rem}.mod-item{display:flex;align-items:flex-start;gap:.6rem;font-size:.78rem;color:var(--text2);line-height:1.5}.mod-bullet{color:var(--v2);font-size:.7rem;margin-top:1px;flex-shrink:0}.mod-cta{display:flex;align-items:center;justify-content:center;margin-top:1.5rem;padding:.7rem;background:var(--vd);border:1px solid rgba(139,92,246,.2);border-radius:10px;color:var(--v2);font-family:var(--body);font-size:.8rem;font-weight:600;text-decoration:none;transition:all .2s ease}.mod-cta:hover{background:var(--v);color:#fff;border-color:var(--v)}.faq-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:16px;overflow:hidden;margin-top:3rem}.faq-item{background:var(--bg2);border-bottom:1px solid var(--border)}.faq-item:last-child{border-bottom:none}.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;cursor:pointer;transition:background .2s ease;background:0 0;border:0;color:inherit;text-align:left}.faq-q:hover{background:var(--bg3)}.faq-q-text{font-size:.88rem;font-weight:600}.faq-toggle{font-size:1rem;color:var(--v2);flex-shrink:0;transition:transform .3s ease;font-family:var(--mono)}.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}.faq-a-inner{padding:0 1.5rem 1.25rem;font-size:.82rem;color:var(--text2);line-height:1.75}.faq-item.open .faq-toggle{transform:rotate(45deg)}.faq-item.open .faq-a{max-height:320px}.cta-bottom{position:relative;z-index:10;padding:5rem 3rem 6rem}.web-detail-page .cta-inner{max-width:900px;margin:0 auto;background:var(--bg2);border:1px solid rgba(139,92,246,.2);border-radius:24px;padding:4rem;text-align:center;position:relative;overflow:hidden}.web-detail-page .cta-glow{position:absolute;top:-80px;left:50%;transform:translateX(-50%);width:500px;height:300px;background:radial-gradient(ellipse,rgba(139,92,246,.1),transparent 70%);pointer-events:none}.web-detail-page .cta-inner h2{font-family:var(--head);font-size:clamp(1.8rem, 3.5vw, 2.8rem);font-weight:800;letter-spacing:-.04em;margin-bottom:.75rem}.web-detail-page .cta-inner p{color:var(--text2);font-size:.92rem;max-width:420px;margin:0 auto 2.5rem;line-height:1.75}.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.other-services{padding-bottom:5rem}.os-title{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;color:var(--text3);margin-bottom:1.25rem}.os-grid{display:flex;flex-wrap:wrap;gap:.75rem}.os-pill{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:500;color:var(--text2);background:var(--bg2);border:1px solid var(--border2);padding:.6rem 1.1rem;border-radius:10px;text-decoration:none;transition:all .2s ease}.os-pill:hover{color:var(--text1);border-color:var(--border3);background:var(--bg3)}@media (max-width:1080px){.breadcrumb,.cta-bottom,.other-services,.sec,.svc-hero{padding-left:1.5rem;padding-right:1.5rem}.hero-grid,.includes-grid,.modalities,.types-grid{grid-template-columns:1fr}.sec-divider{margin-left:1.5rem;margin-right:1.5rem}}@media (max-width:860px){.breadcrumb{padding-top:6.5rem}.cta-btns,.hero-actions{flex-direction:column}.web-detail-page .cta-btns .btn-glow,.web-detail-page .cta-btns .btn-outline,.web-detail-page .hero-actions .btn-glow,.web-detail-page .hero-actions .btn-outline{width:100%;justify-content:center}}@media (max-width:640px){.breadcrumb,.cta-bottom,.other-services,.sec,.svc-hero{padding-left:1rem;padding-right:1rem}.hero-left h1{font-size:clamp(2.25rem, 11vw, 3.35rem);line-height:.98;letter-spacing:-.04em}.hero-desc,.sec-desc{font-size:.92rem}.faq-a-inner,.faq-q-text,.hc-val,.hero-desc,.hero-left h1,.inc-item-text,.mod-name,.mod-note,.mod-price,.os-pill,.p-desc,.p-duration,.p-title,.sec-desc,.sec-h2,.stack-pill,.type-desc,.type-name{overflow-wrap:break-word}.sec-divider{margin-left:1rem;margin-right:1rem}.hc-row{flex-direction:column;align-items:flex-start}.hc-val{text-align:left}.hero-card,.inc-card,.mod-card,.p-body,.type-card{padding:1.3rem}.faq-a-inner,.faq-q{padding-left:1.2rem;padding-right:1.2rem}.web-detail-page .cta-inner{padding:3rem 1.4rem}}@media (max-width:420px){.breadcrumb{gap:.35rem;padding-top:6.75rem}.hero-grid{gap:1.6rem}.hero-kicker{font-size:.62rem;letter-spacing:.1em}.hero-left h1{font-size:clamp(2rem, 10.4vw, 2.8rem);line-height:1;letter-spacing:-.035em;overflow-wrap:anywhere}.faq-a-inner,.hero-desc,.p-desc,.sec-desc,.type-desc{font-size:.88rem;line-height:1.74}.hero-card,.inc-card,.mod-card,.p-body,.type-card{padding:1.1rem}}