/* Page styles from the original design (partner-wp-engine). Generated by tools/seed/services.php. */
.w-hero{position:relative;padding:140px 0 30px;overflow:hidden}
.w-hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,4vw,56px);align-items:center}
.w-hero h1{font-size:clamp(2.5rem,5.2vw,4.5rem);letter-spacing:-.05em;margin-top:16px}
.w-hero h1 .plus{color:var(--lime-2)}
.w-hero p.sub{margin-top:20px;font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--ink-2);max-width:46ch}
.w-hero .ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.crumbs{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:flex-start;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.crumbs a{color:inherit;text-decoration:none}.crumbs a:hover{color:var(--ink)}
.lockup{display:inline-flex;align-items:center;gap:14px;margin-top:26px;padding:12px 16px;border-radius:var(--r-md);background:var(--glass-bg);box-shadow:var(--glass-edge)}
.lockup svg{width:34px;height:18px}.lockup img{width:26px;height:26px}
.lockup b{font-weight:500}.lockup i{font-style:normal;color:var(--muted)}
.lockup .ptag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--lime);font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}
/* environments */
.envs .screen{min-height:0;padding:20px;display:grid;gap:14px}
.env-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.env{position:relative;border-radius:14px;background:#2c2c2c;box-shadow:inset 0 1px 0 rgb(255 255 255/.07);padding:12px;display:grid;gap:10px;transition:box-shadow .4s,transform .4s var(--ease)}
.env.busy{box-shadow:inset 0 0 0 1.5px var(--lime),0 0 30px -10px color-mix(in srgb,var(--lime) 50%,transparent)}
.env header{display:flex;justify-content:space-between;align-items:center;gap:6px}
.env header b{font-weight:500;font-size:14px;color:var(--dark-ink)}
.env header small{font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--dark-muted)}
.env .st{width:8px;height:8px;border-radius:50%;background:#5ef0cf;box-shadow:0 0 0 4px rgb(94 240 207/.15)}
.env.busy .st{background:var(--lime);animation:pulse 1s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}
.mini{border-radius:10px;background:#f7f7f6;overflow:hidden;aspect-ratio:4/3;display:grid;grid-template-rows:auto 1fr;transition:filter .4s}
.mini i{display:block}
.mini .tb{height:12px;background:#e4e4e1;display:flex;gap:3px;align-items:center;padding-left:5px}
.mini .tb::before,.mini .tb::after{content:"";width:4px;height:4px;border-radius:50%;background:#bdbdb9}
.mini .pg{padding:8px;display:grid;gap:5px;align-content:start}
.mini .h{height:9px;border-radius:3px;background:var(--ink);width:70%}
.mini .s{height:5px;border-radius:3px;background:#d3d3cf;width:90%}
.mini .s.sh{width:55%}
.mini .cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;margin-top:3px}
.mini .cards i{aspect-ratio:1;border-radius:4px;background:var(--acc,#c9ffec)}
.env .ver{font-family:var(--mono);font-size:11px;color:var(--dark-muted);display:flex;justify-content:space-between}
.env .ver b{color:var(--dark-ink);font-weight:500}
.env.p .mini{--acc:var(--lime)}.env.s .mini{--acc:var(--cyan)}.env.d .mini{--acc:#ffb547}
.pipe{position:absolute;top:50%;height:2px;background:repeating-linear-gradient(90deg,rgb(255 255 255/.25) 0 6px,transparent 6px 11px);pointer-events:none}
.pipe.a{left:calc(33.33% - 12px);width:12px}.pipe.b{left:calc(66.66% - 6px);width:12px}
.packet{position:absolute;top:calc(50% - 7px);left:0;width:14px;height:14px;border-radius:50%;background:var(--lime);box-shadow:0 0 18px var(--lime);opacity:0;z-index:3;pointer-events:none}
.acts{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px}
.act{border:0;border-radius:999px;padding:9px 14px;font:500 12.5px var(--mono);letter-spacing:.03em;background:var(--dark-2);color:var(--dark-ink);cursor:pointer;box-shadow:inset 0 0 0 1px rgb(255 255 255/.08);display:inline-flex;align-items:center;gap:8px;transition:background-color .2s}
.act:hover{background:var(--dark-3)}
.act.go{background:var(--lime);color:var(--ink)}
.act:disabled{opacity:.45;cursor:progress}
.act:focus-visible,.ph:focus-visible{outline:2px solid var(--lime-2);outline-offset:2px}
.log{position:relative;z-index:1;border-radius:12px;background:#171717;padding:12px 14px;font:12px/1.65 var(--mono);color:#a3a3a0;min-height:118px;box-shadow:inset 0 0 0 1px rgb(255 255 255/.05)}
.log div{opacity:0;transform:translateY(4px);animation:lg .35s var(--ease) forwards}
.log div b{color:var(--lime);font-weight:500}.log div em{font-style:normal;color:#5ef0cf}
@keyframes lg{to{opacity:1;transform:none}}
.log .note{position:absolute;right:12px;bottom:10px;font-size:10px;color:#6c6c69;text-transform:uppercase;letter-spacing:.06em}
/* bento */
.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(0,auto);gap:12px}
.bx{border-radius:var(--r-lg);padding:24px;background:var(--card);box-shadow:inset 0 1px 0 #fff,0 0 0 1px rgb(0 0 0/.04);display:flex;flex-direction:column;gap:12px;overflow:hidden;position:relative}
.bx h3{font-size:1.45rem;letter-spacing:-.03em}
.bx p{font-size:15px;color:var(--ink-2);max-width:52ch}
.bx.dk{background:var(--dark);color:var(--dark-ink)}.bx.dk p{color:#cfcfcb}.bx.dk h3{color:#fff}
.bx.c4{grid-column:span 4}.bx.c2{grid-column:span 2}.bx.c3{grid-column:span 3}
.tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.bx.dk .tag{color:var(--lime)}
/* headless visual */
.hl{display:grid;grid-template-columns:1fr auto 1.2fr auto 1fr;gap:10px;align-items:center;margin-top:auto}
.hl .card{border-radius:12px;background:#2c2c2c;padding:12px;font-size:12.5px;display:grid;gap:6px;min-height:118px}
.hl .card small{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--dark-muted)}
.hl .card .ln{height:6px;border-radius:3px;background:#444}.hl .card .ln.s{width:60%}
.hl .card .wp{display:flex;align-items:center;gap:8px;color:#fff;font-weight:500}
.hl .card .wp img{width:18px;height:18px;filter:invert(1)}
.hl pre{margin:0;border-radius:12px;background:#171717;padding:12px;font:11.5px/1.55 var(--mono);color:#cfcfcb;overflow:hidden;min-height:118px}
.hl pre .k{color:var(--lime)}.hl pre .f{color:var(--cyan)}
.hl .arw{color:var(--lime);font-family:var(--mono)}
.hl .fe{border-radius:12px;background:#f7f7f6;color:var(--ink);padding:12px;display:grid;gap:6px;min-height:118px;align-content:start}
.hl .fe b{font-size:13px}.hl .fe .ln{height:6px;border-radius:3px;background:#d3d3cf}.hl .fe .ln.s{width:60%}
.hl .fe .im{height:34px;border-radius:6px;background:linear-gradient(120deg,var(--lime),var(--cyan))}
/* cache gauge */
.gauge{position:relative;width:min(180px,100%);aspect-ratio:1;margin:auto auto 0;border-radius:50%;background:conic-gradient(var(--lime-2) calc(var(--v,0)*1%),#dcdcd9 0);display:grid;place-items:center;transition:--v 1s}
.gauge::before{content:"";position:absolute;inset:14px;border-radius:50%;background:var(--card)}
.gauge span{position:relative;text-align:center;display:grid}
.gauge b{font-size:2.2rem;font-weight:500;letter-spacing:-.04em}
.gauge small{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.paths{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.paths span{font:12px var(--mono);padding:6px 10px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px var(--line);display:inline-flex;gap:6px;align-items:center}
.paths span i{width:7px;height:7px;border-radius:50%;background:var(--lime-2)}
.paths span.by i{background:var(--amber)}
.legend{display:flex;gap:14px;font:11px var(--mono);color:var(--muted);flex-wrap:wrap}
.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;background:var(--lime-2)}
.legend .by i{background:var(--amber)}
.term{margin-top:auto;border-radius:12px;background:#171717;padding:14px;font:12px/1.65 var(--mono);color:#cfcfcb;overflow-x:auto;white-space:pre}
.term .k{color:var(--lime)}.term .c{color:#6c6c69}
.local{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap}
.local span{border-radius:10px;padding:10px 12px;background:#fff;box-shadow:0 0 0 1px var(--line);font-size:13px;display:grid;gap:2px}
.local span small{font:10px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
/* migration dial */
.mig{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:center}
.dial{position:relative;width:min(440px,100%);aspect-ratio:1;margin-inline:auto}
.dial svg{width:100%;height:100%;transform:rotate(-90deg)}
.dial .arc{fill:none;stroke-width:16;stroke:#dcdcd9;transition:stroke .4s,stroke-width .4s}
.dial .arc.on{stroke:var(--lime-2);stroke-width:22}
.dial .arc.done{stroke:#b8b8b4}
.dial .mid{position:absolute;inset:22%;border-radius:50%;background:var(--glass-bg);box-shadow:var(--glass-edge);display:grid;place-content:center;text-align:center;padding:12px;gap:6px}
.dial .mid small{font:11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.dial .mid b{font-size:clamp(1.4rem,2.6vw,2rem);font-weight:500;letter-spacing:-.03em}
.dial .mid span{font-size:14px;color:var(--ink-2);max-width:24ch;margin-inline:auto}
.phs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.ph{border:0;text-align:left;border-radius:var(--r-md);padding:16px;background:var(--card);box-shadow:inset 0 1px 0 #fff,0 0 0 1px rgb(0 0 0/.04);cursor:pointer;font:inherit;color:inherit;display:grid;gap:4px;transition:background-color .25s,transform .25s var(--ease)}
.ph:hover{transform:translateY(-2px)}
.ph small{font:10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.ph b{font-weight:500;font-size:1.1rem}
.ph[aria-checked="true"]{background:var(--ink);color:#fff}.ph[aria-checked="true"] small{color:var(--lime)}
.ph-detail{margin-top:14px;border-radius:var(--r-md);padding:18px;background:var(--glass-bg);box-shadow:var(--glass-edge);font-size:15px;color:var(--ink-2);min-height:5.5em}
.ph-detail .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ph-detail .chips span{font:12px var(--mono);padding:5px 9px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px var(--line)}
@media (prefers-reduced-motion:reduce){ .log div{animation:none;opacity:1;transform:none} .env.busy .st{animation:none} }
@media (max-width:1100px){ .w-hero .wrap,.mig{grid-template-columns:1fr} .bx.c4,.bx.c2,.bx.c3{grid-column:span 6} }
@media (max-width:760px){ .hl{grid-template-columns:1fr} .hl .arw{transform:rotate(90deg);justify-self:center} }
@media (max-width:600px){ .w-hero{padding-top:110px} .w-hero h1{font-size:clamp(2.1rem,9vw,2.6rem)} .env-row{grid-template-columns:1fr} .pipe{display:none} .env .mini{display:none} .env{gap:6px} .phs{grid-template-columns:1fr 1fr} }

/* expansion: annotated request layers */
.e-layers{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:center}
.e-stack{display:grid;gap:8px;counter-reset:ly}
.e-stack div{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px 18px;border-radius:var(--r-md);background:var(--dark);color:var(--dark-ink)}
.e-stack div::before{counter-increment:ly;content:counter(ly);width:28px;height:28px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font:500 12px var(--mono)}
.e-stack div:nth-child(2){margin-inline:14px}.e-stack div:nth-child(3){margin-inline:28px;background:var(--dark-2)}.e-stack div:nth-child(4){margin-inline:42px;background:var(--dark-3)}
.e-stack b{font-weight:500}
.e-stack em{font-style:normal;font:10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:999px;background:rgb(94 240 207/.15);color:#5ef0cf;white-space:nowrap}
.e-stack div.miss em{background:rgb(255 181 71/.18);color:var(--amber)}
.e-notes{display:grid;gap:14px;margin:0;padding:0;list-style:none;counter-reset:nt}
.e-notes li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px}
.e-notes li::before{counter-increment:nt;content:counter(nt);width:28px;height:28px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--ink);display:grid;place-items:center;font:500 12px var(--mono)}
.e-notes b{font-weight:500;display:block}
.e-notes span{color:var(--ink-2);font-size:15px}
.e-notes code,.e-mk code{font:12px var(--mono);background:var(--panel);padding:1px 6px;border-radius:6px}
/* mistakes with cost strip */
.e-mk{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.e-mk article{display:grid;grid-template-rows:auto 1fr auto;border-radius:var(--r-lg);overflow:hidden;background:var(--glass-bg);box-shadow:var(--glass-edge)}
.e-mk .n{font:500 40px/1 var(--mono);letter-spacing:-.04em;color:var(--lime-2);padding:18px 18px 0}
.e-mk .tx{padding:12px 18px 18px;display:grid;gap:8px;align-content:start}
.e-mk h3{font-size:1.08rem;font-weight:500;letter-spacing:-.02em;line-height:1.25}
.e-mk p{font-size:14.5px;color:var(--ink-2)}
.e-mk .cs{background:var(--dark);color:var(--dark-ink);padding:12px 18px;font-size:13.5px}
.e-mk .cs b{display:block;font:10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--amber);margin-bottom:3px;font-weight:400}
/* glossary dictionary */
.e-gloss{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(20px,4vw,56px);margin:0}
.e-gloss div{display:grid;grid-template-columns:minmax(120px,.42fr) minmax(0,1fr);gap:14px;padding:16px 0;border-top:1px solid var(--line)}
.e-gloss dt{font:500 13px var(--mono);letter-spacing:.02em}
.e-gloss dt span{display:inline-block;padding:3px 8px;border-radius:6px;background:var(--lime)}
.e-gloss dd{margin:0;color:var(--ink-2);font-size:15px}
.e-gloss a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:1000px){.e-layers{grid-template-columns:minmax(0,1fr)}.e-mk{grid-template-columns:repeat(2,minmax(0,1fr))}.e-gloss{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.e-mk{grid-template-columns:minmax(0,1fr)}.e-stack div{grid-template-columns:32px minmax(0,1fr);margin-inline:0!important}.e-stack em{grid-column:2;justify-self:start}.e-gloss div{grid-template-columns:minmax(0,1fr);gap:6px}}


/* Designed entry: keep shared byline rules off this design's .by elements. */
.ix-designed .legend .by{display:block;flex-wrap:nowrap;gap:0;margin-top:0;font-size:inherit;font-weight:inherit;color:inherit}
.ix-designed .paths .by{display:block;flex-wrap:nowrap;gap:0;margin-top:0;font-size:12px;font-weight:400;color:inherit}
