/* Page styles for /azure/, extracted from azure.html (all selectors start with .pg-azure) */
.pg-azure .phero{padding:56px 0 48px}
.pg-azure .phero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:22px 22px;pointer-events:none}
.pg-azure .hgrid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:36px;align-items:center}
.pg-azure .hacts{display:flex;flex-wrap:wrap;gap:12px}
.pg-azure .hart svg{display:block;width:100%;max-width:520px;height:auto;margin-inline:auto;overflow:visible}
.pg-azure .hart svg text{font-family:var(--display)}
.pg-azure .hstat{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font:600 13px var(--mono);color:#9fe3c9;background:rgba(18,145,107,.12);border:1px solid rgba(18,145,107,.35);padding:7px 12px;border-radius:999px}
.pg-azure .dot{width:8px;height:8px;border-radius:50%;background:#2fd49a;animation:pgblink 1.8s ease-in-out infinite;flex:none}
@keyframes pgblink{0%,100%{box-shadow:0 0 0 0 rgba(47,212,154,.6)}50%{box-shadow:0 0 0 6px rgba(47,212,154,0)}}
/* hero svg life */
.pg-azure .flow{stroke-dasharray:3 10;stroke-linecap:round;animation:pgdash 1.4s linear infinite}
@keyframes pgdash{to{stroke-dashoffset:-26}}
.pg-azure .blinkl{animation:pgled 1.6s steps(2) infinite}
@keyframes pgled{50%{opacity:.35}}
.pg-azure .floaty{animation:pgfloat 4s ease-in-out infinite}
@keyframes pgfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.pg-azure .ringp{transform-box:fill-box;transform-origin:center;animation:pgringp 3.6s ease-out infinite}
@keyframes pgringp{0%{transform:scale(.92);opacity:1}100%{transform:scale(1.08);opacity:.35}}
.pg-azure .spinr{transform-box:fill-box;transform-origin:center;animation:pgspin 12s linear infinite}
@keyframes pgspin{to{transform:rotate(360deg)}}
/* what you get */
.pg-azure .svcs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pg-azure .svcs.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pg-azure .svc{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;transition:transform .25s,box-shadow .25s,border-color .25s}
.pg-azure .svc:hover{transform:translateY(-4px);box-shadow:0 18px 36px -18px rgba(4,36,58,.35);border-color:#b9d6ea}
.pg-azure .ic{width:60px;height:60px;border-radius:16px;background:linear-gradient(160deg,#e6f1f8,#d3e7f4);display:grid;place-items:center;margin-bottom:14px}
.pg-azure .ic svg{width:40px;height:40px;overflow:visible}
.pg-azure .svc h3{font-size:18px;margin:0 0 6px}
.pg-azure .svc p{margin:0;color:var(--sub);font-size:15px}
.pg-azure .ic .bob{animation:pgbob 2.4s ease-in-out infinite}
@keyframes pgbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.pg-azure .ic .spin{transform-box:fill-box;transform-origin:center;animation:pgspin 6s linear infinite}
.pg-azure .ic .blink{animation:pgled 1.6s steps(2) infinite}
.pg-azure .ic .draw{stroke-dasharray:60;animation:pgdraw 3.2s ease-in-out infinite}
@keyframes pgdraw{0%{stroke-dashoffset:60}45%,100%{stroke-dashoffset:0}}
.pg-azure .ic .pulse{transform-box:fill-box;transform-origin:center;animation:pgpulse 2.2s ease-in-out infinite}
@keyframes pgpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.pg-azure .ic .slide{animation:pgslide 2.4s ease-in-out infinite}
@keyframes pgslide{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
/* stats */
.pg-azure .stats2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pg-azure .stat{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;gap:18px;align-items:center}
.pg-azure .stat .num{font:800 clamp(34px,4.4vw,46px)/1 var(--display);color:var(--blue);min-width:3.4em;letter-spacing:-.02em}
.pg-azure .stat p{margin:0;font-size:15.5px}
.pg-azure .stat small{display:block;margin-top:6px;color:var(--sub);font-size:12.5px}
/* tool shell */
.pg-azure .tool{position:relative;background:radial-gradient(120% 90% at 100% 0%,#26303b 0%,var(--g-dark2) 45%,var(--g-dark) 100%);color:#e9eef3;border-radius:22px;padding:28px;border:1px solid #2a323c;box-shadow:0 24px 60px rgba(20,23,27,.28);overflow:hidden}
.pg-azure .tool::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:22px 22px;pointer-events:none}
.pg-azure .tool>*{position:relative}
.pg-azure .thd{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:20px}
.pg-azure .badge{font:700 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:var(--amber);color:var(--g-dark)}
.pg-azure .tlive{display:inline-flex;align-items:center;gap:8px;font:600 12px var(--mono);color:#9fb0c4}
.pg-azure .tl{font:700 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--blue-hi);margin:0 0 10px}
.pg-azure .tft{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:24px;padding-top:20px;border-top:1px solid #333d49}
.pg-azure .demo{margin:0;font-size:13px;color:#9aa6b3}
.pg-azure .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.pg-azure .opt{display:flex;flex-wrap:wrap;gap:8px}
.pg-azure label.chip{position:relative;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1.5px solid #3a4654;background:rgba(255,255,255,.04);color:#dfe6ee;font:600 14px var(--body);cursor:pointer;transition:background .25s,border-color .25s,color .25s,transform .2s}
.pg-azure label.chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.pg-azure label.chip.on{background:var(--blue-hi);border-color:var(--blue-hi);color:var(--blue-ink)}
.pg-azure label.chip:has(input:focus-visible){outline:3px solid var(--blue-hi);outline-offset:3px}
/* how we work strip */
.pg-azure .hw{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;position:relative}
.pg-azure .hw::before{content:"";position:absolute;left:28px;right:28px;top:27px;height:2px;background:repeating-linear-gradient(90deg,#7fb6dc 0 8px,transparent 8px 16px);background-size:32px 2px;animation:pgflow 1.2s linear infinite}
@keyframes pgflow{to{background-position:32px 0}}
@keyframes pgflowv{to{background-position:0 32px}}
.pg-azure .hw li{position:relative}
.pg-azure .hw .n{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--blue);color:var(--blue);font:800 18px var(--mono);position:relative;z-index:1;animation:pgring 4s ease-out infinite}
.pg-azure .hw li:nth-child(2) .n{animation-delay:1s}.pg-azure .hw li:nth-child(3) .n{animation-delay:2s}.pg-azure .hw li:nth-child(4) .n{animation-delay:3s}
@keyframes pgring{0%{box-shadow:0 0 0 0 rgba(2,99,153,.4);background:#e6f1f8}25%,100%{box-shadow:0 0 0 16px rgba(2,99,153,0);background:#fff}}
.pg-azure .hw h3{font-size:17px;margin:14px 0 4px}
.pg-azure .hw p{margin:0;color:var(--sub);font-size:14.5px}
/* faq + plans */
.pg-azure .fgrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;align-items:start}
.pg-azure .faq{display:grid;gap:8px}
.pg-azure .faq details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:0 18px;transition:border-color .25s,box-shadow .25s}
.pg-azure .faq details[open]{border-color:var(--blue);box-shadow:0 10px 24px -16px rgba(4,36,58,.35)}
.pg-azure .faq summary{cursor:pointer;list-style:none;padding:15px 0;font-family:var(--display);font-weight:700;font-size:16px;display:flex;justify-content:space-between;gap:12px;border-radius:8px}
.pg-azure .faq summary::-webkit-details-marker{display:none}
.pg-azure .faq summary::after{content:"+";font-family:var(--mono);color:var(--blue);font-size:22px;line-height:1;transition:transform .25s}
.pg-azure .faq details[open] summary::after{transform:rotate(45deg)}
.pg-azure .faq details p{margin:0 0 16px;color:var(--sub);line-height:1.55;font-size:15px}
.pg-azure .faq details[open] p{animation:pgfade .35s ease}
@keyframes pgfade{from{transform:translateY(-4px)}to{transform:none}}
.pg-azure .plans{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;position:sticky;top:90px}
.pg-azure .plans h3{font-size:18px;margin:6px 0 4px}
.pg-azure .plans p{margin:0 0 6px;color:var(--sub);font-size:14.5px}
.pg-azure .pchip{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid var(--line);border-radius:14px;text-decoration:none;margin-top:10px;transition:border-color .2s,transform .2s,background .2s}
.pg-azure .pchip:hover{border-color:var(--blue);background:#f3f9fd;transform:translateX(3px)}
.pg-azure .pchip .pl{font:700 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:var(--blue);color:#fff;flex:none}
.pg-azure .pchip span{font-size:14px;color:var(--sub);line-height:1.4}
@media (max-width:900px){
 .pg-azure .hgrid,.pg-azure .fgrid{grid-template-columns:1fr}
 .pg-azure .hart svg{max-width:440px}
 .pg-azure .svcs{grid-template-columns:1fr 1fr}
 .pg-azure .plans{position:static}
 .pg-azure .hw{grid-template-columns:1fr 1fr}
 .pg-azure .hw::before{display:none}
}
@media (max-width:640px){
 .pg-azure .psec{padding:48px 0}
 .pg-azure .phero{padding:40px 0 36px}
 .pg-azure .svcs,.pg-azure .svcs.c2,.pg-azure .stats2{grid-template-columns:1fr}
 .pg-azure .tool{padding:20px 16px;border-radius:18px}
 .pg-azure .hw{grid-template-columns:1fr;gap:16px}
 .pg-azure .hw::before{display:block;left:27px;right:auto;top:28px;bottom:28px;width:2px;height:auto;background:repeating-linear-gradient(180deg,#7fb6dc 0 8px,transparent 8px 16px);background-size:2px 32px;animation-name:pgflowv}
 .pg-azure .hw li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:14px;align-items:start}
 .pg-azure .hw h3{margin-top:4px}
 .pg-azure .stat{flex-direction:column;align-items:flex-start;gap:8px}
 .pg-azure .tft .pbtn{width:100%;text-align:center}
}

.pg-azure .beat{stroke-dasharray:100;animation:pgbeat 3s linear infinite}
@keyframes pgbeat{0%{stroke-dashoffset:100}60%,100%{stroke-dashoffset:0}}
.pg-azure .agrid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px}
.pg-azure fieldset.tq{border:1px solid #333d49;border-radius:14px;padding:12px 14px 14px;margin:0 0 10px;background:rgba(255,255,255,.03);min-width:0;transition:border-color .25s}
.pg-azure fieldset.tq:focus-within{border-color:var(--blue-hi)}
.pg-azure fieldset.tq legend{float:left;width:100%;padding:0;margin:0 0 10px;font:700 15px var(--display);color:#fff}
.pg-azure fieldset.tq .opt{clear:both}
.pg-azure fieldset.tq label.chip{font-size:13.5px;padding:8px 12px}
.pg-azure .out{display:flex;flex-direction:column;gap:14px;min-width:0}
.pg-azure .top{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px}
.pg-azure .gauge,.pg-azure .rec,.pg-azure .diag{background:rgba(255,255,255,.04);border:1px solid #333d49;border-radius:16px;padding:14px}
.pg-azure .gauge svg{display:block;width:100%;max-width:240px;margin:0 auto}
.pg-azure #az-arc{transition:stroke-dashoffset .9s cubic-bezier(.2,.8,.2,1)}
.pg-azure #az-needle{transform-box:view-box;transform-origin:120px 120px;transition:transform .9s cubic-bezier(.3,1.4,.5,1)}
.pg-azure .gp{text-align:center;margin-top:-4px}
.pg-azure .gp b{font:800 30px var(--display);color:#fff}
.pg-azure .gz{display:flex;justify-content:space-between;margin-top:6px;font:700 12px var(--mono);color:#76818e}
.pg-azure .gz span{padding:3px 8px;border-radius:999px;transition:background .3s,color .3s}
.pg-azure .gz span.on{background:var(--blue-hi);color:var(--blue-ink)}
.pg-azure .rec{border-width:1.5px;transition:border-color .4s,background .4s}
.pg-azure .rec .rw{font:800 30px/1.1 var(--display);color:#fff;margin:2px 0 8px;transition:color .4s}
.pg-azure .rec.swap .rw{animation:pgpop .5s cubic-bezier(.3,1.5,.5,1)}
@keyframes pgpop{0%{transform:scale(.8)}100%{transform:none}}
.pg-azure .rec p{margin:0;font-size:14.5px;color:#dfe6ee}
.pg-azure .rec p.why{margin-top:8px;font-size:13.5px;color:#f7c77a}
.pg-azure .rec p.why:empty{display:none}
.pg-azure .rec[data-r=stay]{border-color:#9fb0c4}.pg-azure .rec[data-r=stay] .rw{color:#cfd8e3}
.pg-azure .rec[data-r=hybrid]{border-color:var(--blue-hi);background:rgba(63,169,245,.08)}.pg-azure .rec[data-r=hybrid] .rw{color:var(--blue-hi)}
.pg-azure .rec[data-r=move]{border-color:#2fd49a;background:rgba(18,145,107,.12)}.pg-azure .rec[data-r=move] .rw{color:#2fd49a}
.pg-azure .diag svg{display:block;width:100%;height:auto}
.pg-azure .dl{display:flex;justify-content:space-between;font:700 12px var(--mono);color:#9fb0c4;text-transform:uppercase;letter-spacing:.08em;padding:2px 4% 0}
.pg-azure .wl{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
.pg-azure .wl li{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#dfe6ee;min-width:0}
.pg-azure .wl li i{width:12px;height:12px;border-radius:50%;flex:none}
.pg-azure .wl li em{font-style:normal;margin-left:auto;font:600 12px var(--mono);color:#9fb0c4;white-space:nowrap;transition:color .3s}
.pg-azure .wl li.up em{color:#9fe3c9}
@media (max-width:980px){.pg-azure .agrid{grid-template-columns:1fr}}
@media (max-width:560px){.pg-azure .top{grid-template-columns:1fr}.pg-azure .wl{grid-template-columns:1fr}}
