.hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:clamp(24px,3.4vw,52px);padding-block:clamp(28px,4vw,56px) clamp(36px,5vw,72px);display:grid}.h1{letter-spacing:-.03em;margin:18px 0 0;font-size:clamp(34px,4.8vw,62px);font-weight:800;line-height:1.12}.ul-wrap{display:inline-block;position:relative}.ul-wrap em{color:var(--accent);font-style:normal}.ul{width:100%;height:.28em;position:absolute;bottom:-.16em;left:0;right:0;overflow:visible}.ul path{fill:none;stroke-linecap:round}.ul-line{stroke:var(--volt);stroke-width:4px;stroke-dasharray:100;stroke-dashoffset:100px;animation:draw 1.1s var(--ease) .4s forwards}@keyframes draw{to{stroke-dashoffset:0}}.ul-spark{stroke:#f7fee7;stroke-width:5.5px;stroke-dasharray:2 98;stroke-dashoffset:2px;filter:drop-shadow(0 0 2.5px var(--volt)) drop-shadow(0 0 6px var(--volt));animation:3.4s linear infinite spark}@keyframes spark{0%{stroke-dashoffset:2px;opacity:0}4%{opacity:1}34%{opacity:1}38%{stroke-dashoffset:-100px;opacity:0}to{stroke-dashoffset:-100px;opacity:0}}.hero-sub{max-width:58ch;color:var(--muted-2);margin:22px 0 0;font-size:17px;line-height:1.6}.specs{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px;display:grid}.specs>div{background:var(--accent-bg);border:1px solid var(--accent-line);border-radius:var(--r-lg);min-width:0;padding:14px 16px}.specs dt{font-family:var(--ff-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:500}.specs dd{letter-spacing:-.02em;margin-top:6px;font-size:26px;font-weight:700;line-height:1}.specs dd.sm{font-size:19px}.specs p{color:var(--muted);margin-top:5px;font-size:12px}.specs>div dt,.specs>div dd{color:var(--accent-d)}.specs>div p{color:var(--accent-d);opacity:.82}.specs>.spec-muted{background:var(--tier1);border-color:var(--line)}.specs>.spec-muted dt{color:var(--muted)}.specs>.spec-muted dd{color:var(--muted-2)}.specs>.spec-muted p{color:var(--muted);opacity:1}.specs>div{transition:transform .14s var(--ease), border-color .14s var(--ease), box-shadow .14s var(--ease)}.specs>div:hover{border-color:var(--accent);box-shadow:var(--shadow-panel);transform:translateY(-2px)}.specs>.spec-muted:hover{border-color:var(--line-2)}.spec-link{color:var(--accent-d);font-weight:600}.spec-link:after{content:"→";transition:transform .16s var(--ease);margin-left:.3em;display:inline-block}.spec-link:hover{text-decoration:underline}.spec-link:hover:after{transform:translate(3px)}.cred{letter-spacing:.03em;color:var(--muted);flex-wrap:wrap;gap:7px;margin-top:18px;font-size:11.5px;display:flex}.cred b{color:var(--muted-2);font-weight:700}.cred span{color:var(--line-2)}.badges{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.badges li{background:var(--volt-bg);color:var(--volt-tx);border-radius:var(--r-pill);font-family:var(--ff-mono);letter-spacing:.04em;align-items:center;gap:7px;padding:5px 12px;font-size:11px;font-weight:600;display:flex}.badges li:before{content:"";border-radius:var(--r-pill);background:var(--volt);width:6px;height:6px;transition:transform .14s var(--ease);flex:none}.badges li{transition:background .14s var(--ease)}.badges li:hover{background:#eef9d5}.badges li:hover:before{transform:scale(1.45)}.hero-cta{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.chip{background:var(--tier2);color:var(--muted-2);border-radius:var(--r-pill);font-family:var(--ff-mono);letter-spacing:.05em;text-transform:uppercase;transition:background .14s var(--ease), color .14s var(--ease);padding:3px 10px;font-size:10px;font-weight:600;display:inline-block}.svc-card:hover .chip{background:var(--accent-bg);color:var(--accent-d)}.svc-card .chip{align-self:flex-start}.svc-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.svc-card{border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;flex-direction:column;padding:20px;transition:border-color .12s linear,box-shadow .12s linear,transform .12s linear;display:flex;position:relative;overflow:hidden}.svc-card-img{aspect-ratio:3/2;object-fit:cover;border-bottom:1px solid var(--line);width:calc(100% + 40px);max-width:none;height:auto;transition:transform .35s var(--ease);margin:-20px -20px 16px;display:block}.svc-card:hover .svc-card-img{transform:scale(1.035)}.svc-card .n{border-radius:var(--r-sm);backdrop-filter:blur(4px);background:#ffffffeb;padding:2px 6px}.svc-card:hover{border-color:var(--accent);box-shadow:var(--shadow-panel);transform:translateY(-2px)}.svc-card .n{font-family:var(--ff-mono);color:var(--line-2);font-size:11px;font-weight:600;position:absolute;top:18px;right:18px}.svc-card:hover .n{color:var(--accent)}.svc-card h3{margin:12px 0 8px;padding-right:28px;font-size:17px}.svc-card>p{color:var(--muted-2);flex:1;font-size:13.5px;line-height:1.6}.svc-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:14px;display:flex}.svc-foot b{font-family:var(--ff-mono);color:var(--muted-2);font-size:12px;font-weight:600}.svc-foot a{color:var(--accent);font-size:13px;font-weight:600}.svc-foot a:after{content:"→";transition:transform .16s var(--ease);margin-left:.3em;display:inline-block}.svc-card:hover .svc-foot a:after{transform:translate(3px)}.wrap-cta{margin-top:26px}.princ{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.princ article{background:var(--ink-2);border:1px solid var(--line-dark);border-radius:var(--r);transition:transform .14s var(--ease), border-color .14s var(--ease), background .14s var(--ease);padding:18px}.princ article:hover{border-color:var(--volt);background:#24334a;transform:translateY(-2px)}.princ .n{transition:color .14s var(--ease);font-family:var(--ff-mono);color:var(--volt);font-size:11px;font-weight:600}.princ h3{margin:8px 0;font-size:17px}.princ p{color:#94a3b8;font-size:13.5px;line-height:1.6}@media (width<=1080px){.hero{grid-template-columns:1fr}.svc-grid,.princ{grid-template-columns:1fr 1fr}}@media (width<=700px){.rates,.specs,.svc-grid,.princ{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.ul-spark{opacity:0;animation:none}.ul-line{stroke-dashoffset:0;animation:none}.specs>div:hover,.princ article:hover,.svc-card:hover,.badges li:hover:before,.spec-link:hover:after,.svc-card:hover .svc-foot a:after{transform:none}}
