/* Ecommerce engineering page. Builds on the shared .we2 tokens and primitives; everything here is .ec-scoped. */
.ec .we2-eyebrow.ec-eyebrow--l{color:#79a8ff}
.ec-hero{padding-block:clamp(36px,5vw,76px) clamp(40px,5vw,72px);background:linear-gradient(#fff,#f6f8fc)}
.ec-hero__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(24px,4.5vw,64px);align-items:center}
.ec-hero h1{font-size:clamp(34px,4.3vw,58px);margin-bottom:20px}
.ec-trio{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);max-width:38rem}
.ec-trio li{padding:14px 12px 0 0;font-size:13px;color:var(--mute)}.ec-trio b{display:block;font:600 13px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-bottom:2px}
/* hero storefront demo */
.ec-demo{border:1px solid var(--ink);background:#fff;box-shadow:0 30px 56px -34px rgba(11,15,23,.5);min-width:0}
.ec-demo__bar{display:flex;align-items:center;gap:6px;padding:9px 12px;background:var(--mist);border-bottom:1px solid var(--line)}
.ec-demo__bar>i{flex:none;width:10px;height:10px;border-radius:50%;background:#c9d1de}
.ec-demo__url{flex:1;min-width:0;margin:0 8px;padding:5px 10px;background:#fff;border:1px solid var(--line);font:500 12px var(--font-mono);color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ec-demo__stage{background:#e9eef6;padding:0;display:grid;justify-items:center;height:clamp(380px,40vw,470px);overflow:hidden}
.ec-shop{position:relative;width:100%;height:100%;background:#fbfaf7;color:#1c1a16;display:grid;grid-template-rows:auto 1fr;transition:width .4s cubic-bezier(.2,.7,.2,1);overflow:hidden}
[data-view=mobile] .ec-shop{width:min(340px,92%);box-shadow:0 12px 30px rgba(11,15,23,.25)}
[data-view=mobile] .ec-demo__stage{padding-block:12px}[data-view=mobile] .ec-shop{height:100%}
.ec-shop__nav{display:flex;align-items:center;gap:16px;padding:12px 18px;border-bottom:1px solid #e6e1d6}.ec-shop__nav b{font:600 17px var(--font-sans);letter-spacing:.02em;margin-right:auto}.ec-shop__nav nav{font-size:13px;color:#6a645a;display:flex;gap:14px}
[data-view=mobile] .ec-shop__nav nav{display:none}
.ec-shop__bag{border:1px solid #1c1a16;background:#fff;padding:6px 12px;font:600 13px var(--font-sans);cursor:pointer;color:#1c1a16}.ec-shop__bag i{font-style:normal;display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:6px;background:#1466ff;color:#fff;font-size:11px;border-radius:9px}
.ec-shop__body{overflow:auto;padding:16px 18px 18px}
.ec-shop__h{font:600 12px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#6a645a;margin-bottom:12px}
.ec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.ec-prod{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:6px;text-align:left}.ec-prod:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.ec-art{display:grid;place-items:center;aspect-ratio:1/1.05;background:#f0ebe0;border:1px solid #e6e1d6;transition:background .25s}.ec-prod:hover .ec-art{background:#e9e2d2}.ec-art svg{width:56%;height:auto;fill:var(--c);stroke:#1c1a16;stroke-width:1.6}
.ec-prod b{font-size:14px}.ec-prod span{font-size:13px;color:#6a645a}
.ec-item{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.ec-item__art{display:grid;place-items:center;aspect-ratio:1/.8;background:#f0ebe0;border:1px solid #e6e1d6}.ec-item__art svg{width:38%;height:auto;fill:var(--c);stroke:#1c1a16;stroke-width:1.6}
.ec-item h3{font-size:20px;margin:0}.ec-item p{margin:0;font-size:14px;color:#6a645a}
.ec-opt{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ec-opt>span{font:600 11px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#6a645a;min-width:48px}
.ec-opt button{border:1px solid #cfc8b8;background:#fff;min-width:38px;height:34px;padding:0 10px;cursor:pointer;font:600 13px var(--font-sans);color:#1c1a16}.ec-opt button[aria-pressed=true]{background:#1c1a16;color:#fff;border-color:#1c1a16}
.ec-opt .dot{width:26px;height:26px;min-width:26px;padding:0;border-radius:50%;background:var(--c)}.ec-opt .dot[aria-pressed=true]{outline:2px solid #1466ff;outline-offset:2px;color:transparent;background:var(--c)}
.ec-add{border:0;background:#1466ff;color:#fff;min-height:44px;font:600 15px var(--font-sans);cursor:pointer}.ec-add:hover{background:#0a49c4}
.ec-back{all:unset;cursor:pointer;font-size:13px;color:#1466ff;font-weight:600}.ec-back:focus-visible{outline:2px solid var(--blue)}
.ec-cart{position:absolute;inset:0 0 0 auto;width:min(290px,88%);background:#fff;border-left:1px solid #1c1a16;padding:14px 16px;display:grid;grid-template-rows:auto 1fr auto;gap:10px;transform:translateX(102%);transition:transform .3s;z-index:3}
.ec-cart.is-open{transform:none}.ec-cart header{display:flex;justify-content:space-between;align-items:center;font-weight:600}.ec-cart ul{list-style:none;margin:0;padding:0;overflow:auto;display:grid;gap:8px;align-content:start}.ec-cart li{display:flex;justify-content:space-between;gap:8px;font-size:13px;border-bottom:1px solid #eee;padding-bottom:6px}
.ec-cart__x{all:unset;cursor:pointer;font-size:20px;padding:0 6px}.ec-cart__x:focus-visible{outline:2px solid var(--blue)}
.ec-cart footer{display:grid;gap:8px;font-size:14px}.ec-cart footer div{display:flex;justify-content:space-between;font-weight:600}.ec-cart footer small{color:#6a645a}
.ec-demo__note{padding:9px 14px;font-size:12.5px;color:var(--mute);border-top:1px solid var(--line);background:#fff}

.ec .we2-btn--ghost-l{border-color:#3a4658;color:#fff;background:transparent;justify-content:center}.ec .we2-btn--ghost-l:hover{border-color:#79a8ff;background:rgba(121,168,255,.1)}
/* plan wizard */
.ec-plan{padding-block:clamp(36px,5vw,72px);background:linear-gradient(#f4f7fc,#fff);border-block:1px solid var(--line)}
.ec-wizgrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr);gap:clamp(16px,3vw,36px);align-items:start}
.ec-wiz{background:#fff;border:1px solid var(--ink);box-shadow:0 30px 56px -36px rgba(11,15,23,.5);min-height:380px;display:grid;grid-template-rows:auto 1fr}
.ec-wiz__top{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:center;padding:14px 18px 0}.ec-wiz__step{font:600 11px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);justify-self:end}
.ec-wiz__back{all:unset;cursor:pointer;color:var(--blue);font-weight:600;font-size:14px}.ec-wiz__back:focus-visible{outline:2px solid var(--blue)}
.ec-wiz__bar{grid-column:1/-1;height:4px;background:#e6ebf3}.ec-wiz__bar i{display:block;height:100%;width:0;background:var(--blue);transition:width .35s}
.ec-wiz__body{padding:clamp(16px,3vw,30px);display:grid;gap:14px;align-content:start;animation:ec-in .3s}
@keyframes ec-in{from{opacity:0;transform:translateY(8px)}}
.ec-wiz__body h3{font-size:clamp(22px,2.4vw,30px)}.ec-wiz__hint{color:var(--mute);font-size:14px;margin-top:-6px}
.ec-wiz__opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.ec-o{position:relative;text-align:left;display:grid;gap:2px;padding:14px 40px 14px 16px;background:#fff;border:1px solid #b9c3d3;cursor:pointer;font:inherit;color:var(--ink);transition:border-color .2s,background .2s,transform .2s}
.ec-o b{font-size:16px;font-weight:600}.ec-o span{font-size:13.5px;color:var(--mute)}
.ec-o i{position:absolute;right:14px;top:50%;width:22px;height:22px;margin-top:-11px;display:grid;place-items:center;border:1px solid #b9c3d3;font-style:normal;font-size:12px;color:transparent;transition:all .2s}
.ec-o:hover{border-color:var(--ink);transform:translateY(-2px)}.ec-o.is-on{border-color:var(--blue);background:#eef4ff;box-shadow:inset 3px 0 0 var(--blue)}.ec-o.is-on i{background:var(--blue);border-color:var(--blue);color:#fff}
.ec-wiz__next{justify-self:start}
.ec-res{display:grid;gap:10px;padding:16px 18px;background:#f3f7ff;border-left:4px solid var(--blue)}.ec-res h3{font-size:clamp(20px,2.2vw,26px)}.ec-res p{color:var(--ink2);font-size:15.5px}
.ec-res__band{font:600 11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--blue)!important}
.ec-res__inc{list-style:none;margin:0;padding:0;display:grid}.ec-res__inc li{padding:7px 0 7px 22px;border-top:1px solid #d3dae6;position:relative;font-size:15px;color:var(--ink2)}.ec-res__inc li::before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:700}
.ec-res__form{display:grid;gap:12px}.ec-res__ask{color:var(--ink2);font-size:15px}.ec-res__form label{display:grid;gap:5px;font:600 12px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}.ec-res__form small{text-transform:none;letter-spacing:0;font-weight:400;font-family:var(--font-sans)}
.ec-res__form input,.ec-res__form textarea{width:100%;min-height:44px;padding:9px 12px;border:1px solid #b9c3d3;background:#fff;font:400 16px var(--font-sans);color:var(--ink);border-radius:0;text-transform:none;letter-spacing:0}.ec-res__form input:focus,.ec-res__form textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 2px rgba(20,102,255,.25)}.ec-res__form [aria-invalid=true]{border-color:#c62828}
.ec-res__form .we2-btn{justify-self:start}
.ec-sum{border:1px solid var(--line);background:#fff;padding:18px;display:grid;gap:10px;position:sticky;top:96px}.ec-sum__h{font:600 11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.ec-sum ul{list-style:none;margin:0;padding:0;display:grid}.ec-sum li{display:grid;grid-template-columns:78px 1fr;gap:8px;padding:8px 0;border-top:1px solid var(--line);font-size:14px}.ec-sum li span{font:500 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);padding-top:3px}.ec-sum li b{font-weight:600}.ec-sum li.is-empty{display:block;color:var(--mute)}
.ec-sum__why{margin-top:6px!important}.ec-sum__why li{display:block;padding-left:20px;position:relative;color:var(--ink2);font-size:13.5px}.ec-sum__why li::before{content:"";position:absolute;left:0;top:16px;width:9px;height:2px;background:var(--blue)}
/* problem cards */
.ec-pcs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ec-pc{background:#fff;border:1px solid var(--line);display:grid;grid-template-rows:auto auto auto 1fr auto auto;transition:border-color .25s,box-shadow .25s,transform .25s;overflow:hidden}
.ec-pc:hover,.ec-pc.is-open{border-color:var(--blue);box-shadow:0 18px 36px -26px rgba(20,102,255,.55);transform:translateY(-3px)}
.ec-pc__art{background:#f3f6fa linear-gradient(#e3e9f3 1px,transparent 1px) 0 0/22px 22px;border-bottom:1px solid var(--line)}.ec-pc__art svg{display:block;width:100%;height:auto;aspect-ratio:2/1}
.ec-pc__tag{font:500 10px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);padding:14px 18px 0}
.ec-pc h3{font-size:19px;padding:6px 18px 0}.ec-pc__pain{padding:6px 18px 0;color:var(--ink2);font-size:15px}
.ec-pc__btn{all:unset;box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;align-items:center;margin:14px 18px 0;padding:10px 0;border-top:1px solid var(--line);font-weight:600;font-size:14px;color:var(--blue)}.ec-pc__btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ec-pc__btn i{font-style:normal;font:400 22px var(--font-mono)}
.ec-pc__help{padding:0 18px 16px;color:var(--ink);font-size:15px;background:linear-gradient(#fff,#f3f7ff);border-left:3px solid var(--blue);margin:0 18px 16px;padding:10px 12px;animation:ec-in .25s}.ec-pc__help[hidden]{display:none}
.ec-pc__art svg .a1,.ec-pc__art svg .a2,.ec-pc__art svg .a3{transition:transform .5s cubic-bezier(.2,.8,.2,1);transform-box:fill-box;transform-origin:center}
.ec-pc:hover .a1{transform:translateY(-6px)}.ec-pc:hover .a2{transform:translateY(-3px) scale(1.04)}.ec-pc:hover .a3{transform:translateY(-9px)}
.ec-pc:not(.is-open) .ec-pc__btn{margin-bottom:6px}
/* size */
.ec-sz__tabs{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--ink)}
.ec-sz__tabs button{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:baseline;text-align:left;padding:14px 18px;background:#fff;border:0;border-right:1px solid var(--line);cursor:pointer;font:inherit;color:var(--ink)}.ec-sz__tabs button:last-child{border-right:0}
.ec-sz__tabs span{font:500 11px var(--font-mono);color:var(--mute);grid-row:span 2}.ec-sz__tabs b{font-size:18px}.ec-sz__tabs em{font-style:normal;font-size:13px;color:var(--mute)}
.ec-sz__tabs button[aria-selected=true]{background:var(--ink);color:#fff}.ec-sz__tabs button[aria-selected=true] em{color:#a9c4ff}.ec-sz__tabs button[aria-selected=true] span{color:#79a8ff}
.ec-sz__panel{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(16px,3vw,40px);border:1px solid var(--line);border-top:0;padding:clamp(16px,2.6vw,30px);align-items:center}
.ec-sz__viz{background:#f3f6fa linear-gradient(#e3e9f3 1px,transparent 1px) 0 0/22px 22px;border:1px solid var(--line);padding:10px}.ec-sz__viz svg{display:block;width:100%;height:auto}
.ec-sz__txt h3{font-size:clamp(22px,2.2vw,28px);margin-bottom:6px}.ec-sz__txt>p{color:var(--ink2)}
.ec-sz__ul{list-style:none;margin:12px 0;padding:0}.ec-sz__ul li{padding:7px 0 7px 22px;border-top:1px solid var(--line);position:relative;font-size:15px;color:var(--ink2)}.ec-sz__ul li::before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:700}
.ec .ec-sz__r{font:600 11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:6px 0 6px}
.ec-routes{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:8px}.ec-routes li{border:1px solid #cfd8e6;padding:6px 12px;font-size:14px;background:#fff}.ec-routes b{margin-right:6px}.ec-routes span{color:var(--mute)}
/* channels */
.ec-ch{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(16px,3vw,40px);align-items:center}
.ec-ch__viz{background:#fff;border:1px solid var(--line);padding:10px}.ec-ch__viz svg{display:block;width:100%;height:auto}
.ec-ch__t{font:700 11px var(--font-mono);letter-spacing:.08em;fill:#0a49c4}
.ec-ch__n{cursor:pointer}.ec-ch__n rect{fill:#fff;stroke:#0b0f17;stroke-width:2;transition:fill .25s,stroke .25s}.ec-ch__n text{font:600 11px var(--font-mono);letter-spacing:.06em;fill:#0b0f17;pointer-events:none;transition:fill .25s}
.ec-ch__n:hover rect{fill:#f3f7ff}.ec-ch__n.on rect{fill:#1466ff;stroke:#1466ff}.ec-ch__n.on text{fill:#fff}
.ec-ch__lines path{opacity:.35;transition:opacity .3s}.ec-ch__lines path.on{opacity:1;animation:ec-dash 1s linear infinite}@keyframes ec-dash{to{stroke-dashoffset:-22}}
.ec-ch__chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.ec-ch__chips button{padding:8px 14px;border:1px solid var(--line);background:#fff;font:600 13px var(--font-sans);cursor:pointer;color:var(--ink);transition:all .2s}.ec-ch__chips button:hover{border-color:var(--ink)}.ec-ch__chips button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.ec-ch__panel{border:1px solid var(--line);border-top:3px solid var(--blue);background:#fff;padding:clamp(16px,2.4vw,24px);display:grid;gap:8px;min-height:210px;align-content:start}.ec-ch__panel h3{font-size:22px}.ec-ch__panel p{color:var(--ink2)}
.ec-ch__panel ul{list-style:none;margin:4px 0 0;padding:0}.ec-ch__panel li{padding:7px 0 7px 22px;border-top:1px solid var(--line);position:relative;font-size:15px;color:var(--ink2)}.ec-ch__panel li::before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:700}
.ec .ec-fine2{margin-top:12px;font-size:13px;color:var(--mute)}
/* managed: single viewport */
.ec-dark{background:#0e1218;color:#e9eef6;padding-block:clamp(28px,4vw,52px);--dl:#232a36}
.ec-dark :where(h2,h3){color:#fff}
.ec-dark__row{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(16px,4vw,56px);align-items:end;margin-bottom:clamp(16px,2.4vw,26px)}.ec-dark__row h2{font-size:clamp(24px,2.8vw,36px)}.ec-dark__row>p{color:#aab6c8;font-size:16px}
.ec-mgd{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.5fr);gap:clamp(14px,2.4vw,28px);align-items:stretch}
.ec-mgd__tabs{display:grid;gap:0;border:1px solid #2a3340}.ec-mgd__tabs button{display:flex;gap:12px;align-items:baseline;text-align:left;padding:16px 18px;background:none;border:0;border-top:1px solid #2a3340;cursor:pointer;color:#8e9bb0;font:inherit;transition:background .2s,color .2s}.ec-mgd__tabs button:first-child{border-top:0}
.ec-mgd__tabs span{font:500 11px var(--font-mono)}.ec-mgd__tabs b{font-size:20px;font-weight:600}.ec-mgd__tabs button:hover{background:#151b24;color:#fff}.ec-mgd__tabs button[aria-selected=true]{background:#151b24;color:#fff;box-shadow:inset 3px 0 0 var(--blue)}.ec-mgd__tabs button[aria-selected=true] span{color:#79a8ff}
.ec-mgd__panel{border:1px solid #2a3340;background:#11161e;padding:clamp(16px,2.4vw,26px);display:grid;gap:16px;align-content:start}.ec-mgd__lead{font-size:clamp(16px,1.5vw,19px);color:#e9eef6;max-width:42rem}
.ec-mgd__cols{display:grid;grid-template-columns:1.3fr 1fr;gap:18px 28px}.ec-mgd__cols h3{font:600 11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#79a8ff;margin-bottom:8px}
.ec-chipl{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.ec-chipl li{padding:7px 12px;border:1px solid #34425a;background:#0e1218;font-size:14.5px;color:#e9eef6}.ec-chipl--you li{border-style:dashed;color:#aab6c8}
.ec .ec-fine{margin-top:14px;font-size:13px;color:#8e9bb0;max-width:56rem}
/* proof portfolio */
.ec-port{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(16px,3vw,40px);align-items:start}
.ec-port .we2-device{height:clamp(320px,34vw,460px)}
.ec-port__side{display:grid;gap:10px;align-content:start}.ec-port__side h3{font-size:clamp(22px,2.2vw,28px)}.ec-port__side>p{color:var(--ink2);font-size:15px}
.ec-port__c{display:grid;gap:3px;padding:14px 16px;border:1px solid var(--line);background:#fff;text-decoration:none;transition:border-color .25s,transform .25s}.ec-port__c:hover{border-color:var(--blue);transform:translateY(-2px)}.ec-port__c b{font-size:16px;color:var(--ink)}.ec-port__c i{font-style:normal;font-weight:600;font-size:13.5px;color:var(--blue)}
.ec-proc--c{grid-template-columns:repeat(5,1fr);margin-top:clamp(18px,2.6vw,28px)}.ec-proc--c li{padding-top:10px}
.ec-proc{list-style:none;margin:0;padding:0;display:grid;gap:clamp(12px,2vw,24px)}.ec-proc li{border-top:2px solid var(--ink);display:grid;gap:2px}.ec-proc span{font:500 12px var(--font-mono);color:var(--blue)}.ec-proc b{font-size:17px}
/* pos band */
.ec-pos{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(20px,4vw,56px);align-items:center}.ec-pos h2{font-size:clamp(24px,2.8vw,36px)}
.ec-ticks2{list-style:none;margin:16px 0 20px;padding:0}.ec-ticks2 li{padding:8px 0 8px 24px;border-top:1px solid var(--line);position:relative;font-size:15.5px;color:var(--ink2)}.ec-ticks2 li::before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:700}
.ec-pos__viz{background:#fff;border:1px solid var(--line);padding:10px}.ec-pos__viz svg{display:block;width:100%;height:auto}.ec-pos__viz text{font:600 11px var(--font-mono);letter-spacing:.08em;fill:#3a4352}.ec-pos__viz .s{fill:#0a49c4}
/* final */
.ec-final{background:#0b0f17;color:#fff;padding-block:clamp(28px,4vw,48px)}.ec-final__row{display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;align-items:center}.ec-final h2{color:#fff;font-size:clamp(24px,2.8vw,34px)}.ec-final p{color:#aab6c8;margin-top:6px}
.ec-sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--ink);box-shadow:0 -10px 24px rgba(11,15,23,.12)}
.ec-sticky .we2-btn{flex:1;justify-content:center;min-height:46px;padding:0 10px;font-size:14px}.ec-sticky[hidden]{display:none!important}
@media (max-width:1100px){.ec-pcs{grid-template-columns:repeat(2,1fr)}.ec-wizgrid{grid-template-columns:minmax(0,1fr)}.ec-sum{position:static}}
@media (max-width:1000px){.ec-hero__grid,.ec-sz__panel,.ec-ch,.ec-mgd,.ec-port,.ec-pos,.ec-dark__row{grid-template-columns:minmax(0,1fr)}.ec-mgd__tabs{grid-auto-flow:column;grid-auto-columns:1fr}.ec-mgd__tabs button{border-top:0;border-left:1px solid #2a3340;justify-content:center}.ec-mgd__tabs button:first-child{border-left:0}.ec-mgd__tabs button[aria-selected=true]{box-shadow:inset 0 -3px 0 var(--blue)}.ec-proc--c{grid-template-columns:repeat(5,1fr)}}
@media (max-width:760px){.ec-trio,.ec-mgd__cols{grid-template-columns:minmax(0,1fr)}.ec-sticky:not([hidden]){display:flex}.ec-sz__tabs{grid-template-columns:minmax(0,1fr)}.ec-sz__tabs button{border-right:0;border-top:1px solid var(--line)}.ec-sz__tabs button:first-child{border-top:0}.ec-wiz__opts{grid-template-columns:minmax(0,1fr)}.ec-mgd__tabs b{font-size:16px}.ec-mgd__tabs button{padding:12px 6px;flex-direction:column;gap:0;align-items:center}.ec-proc--c{grid-template-columns:repeat(3,1fr)}.ec-final__row{flex-direction:column;align-items:flex-start}}
@media (max-width:560px){.ec-pcs{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.ec *,.ec *::before,.ec *::after{transition:none!important;animation:none!important}}

.ec .ec-proc--c{margin-top:clamp(22px,3vw,34px)}
.ec-o i{display:none}.is-multi .ec-o i{display:grid}
.ec-o::after{content:"→";position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--mute);transition:transform .2s,color .2s}.is-multi .ec-o::after{content:none}.ec-o:hover::after{transform:translate(4px,-50%);color:var(--blue)}.ec-o.is-on::after{color:var(--blue)}
.ec-pc__art svg{aspect-ratio:5/2}

/* ===== One-viewport sections and a standard rhythm (desktop) ===== */
.ec .we2-sec,.ec-plan,.ec-dark,.ec-final{padding-block:clamp(32px,5vh,52px)}
.ec .we2-head{margin-bottom:clamp(14px,2.4vh,24px)}
.ec .we2-head h2,.ec-dark__row h2{font-size:clamp(24px,2.5vw,34px);line-height:1.12}
.ec .we2-head__p{font-size:16px;margin-top:0}.ec .we2-head--split{align-items:end}
@media (min-width:1001px) and (min-height:700px){
  .ec .we2-sec,.ec-plan,.ec-dark{min-height:calc(100svh - 70px);display:grid;align-content:center}
  .ec-final{min-height:0}
}
.ec-wiz{min-height:0}.ec-wiz__body{min-height:300px}
.ec-wiz__opts{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.ec-o{padding:12px 38px 12px 14px}
.ec-res2{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:18px;align-items:start}.ec-res2 .ec-res{padding:14px 16px}.ec-res__form textarea{min-height:56px}
/* problem cards: compact, standard 3x2 */
.ec-pc__art svg{aspect-ratio:3/1;max-height:92px;width:auto;margin-inline:auto}.ec-pc__art{display:grid;place-items:center;padding:6px 0}
.ec-pc{grid-template-rows:auto auto auto 1fr auto auto}.ec-pc__tag{padding-top:10px}.ec-pc h3{font-size:18px}.ec-pc__pain{font-size:14.5px}.ec-pc__btn{margin-top:10px;padding:8px 0}
.ec-pcs{gap:14px}
/* channels: shorter diagram */
.ec-ch__panel{min-height:0}.ec-ch__viz{padding:6px}
/* proof and delivery */
.ec-pf{display:grid;gap:14px}
.ec-pf__tabs{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--ink)}
.ec-pf__tabs button{display:grid;gap:2px;text-align:left;padding:12px 18px;background:#fff;border:0;border-right:1px solid var(--line);cursor:pointer;font:inherit;color:var(--ink);transition:background .2s}.ec-pf__tabs button:last-child{border-right:0}
.ec-pf__tabs span{font:500 10px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}.ec-pf__tabs b{font-size:16px}
.ec-pf__tabs button:hover{background:#f6f9ff}.ec-pf__tabs button[aria-selected=true]{background:var(--ink);color:#fff}.ec-pf__tabs button[aria-selected=true] span{color:#79a8ff}
.ec-pf__stage{border:1px solid var(--line);border-top:0;background:#fff}
.ec-pf__p{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(16px,3vw,36px);padding:clamp(14px,2vw,22px);align-items:center;animation:ec-in .3s}.ec-pf__p[hidden]{display:none}
.ec-pf__v .we2-device{height:clamp(240px,30vh,300px)}.ec-pf__v .we2-browser{box-shadow:none}
.ec-pf__v--svg{background:#f3f6fa linear-gradient(#e3e9f3 1px,transparent 1px) 0 0/22px 22px;border:1px solid var(--line);padding:10px;display:grid;place-items:center;height:clamp(240px,30vh,300px)}.ec-pf__v--svg svg{width:100%;height:100%;max-height:280px}.ec-pf__v--svg text{font:600 9.5px var(--font-mono);letter-spacing:.06em;fill:#3a4352}
.ec-pf__t h3{font-size:clamp(19px,1.9vw,24px);margin-bottom:8px}.ec-pf__t dl{margin:0;display:grid}.ec-pf__t dl>div{padding:8px 0;border-top:1px solid var(--line)}.ec-pf__t dt{font:500 10px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:2px}.ec-pf__t dd{margin:0;font-size:14.5px;color:var(--ink2)}.ec-pf__t .we2-link{display:inline-block;margin-top:10px}
.ec-pf__proc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(10px,1.6vw,20px)}
.ec-pf__proc li{border-top:2px solid var(--ink);padding-top:10px;display:grid;gap:2px;transition:border-color .25s}.ec-pf__proc li:hover{border-top-color:var(--blue)}.ec-pf__proc span{font:500 11px var(--font-mono);color:var(--blue)}.ec-pf__proc b{font-size:16px}.ec-pf__proc p{color:var(--ink2);font-size:13.5px}
@media (max-width:1000px){.ec-pf__p,.ec-res2{grid-template-columns:minmax(0,1fr)}.ec-pf__proc{grid-template-columns:repeat(3,1fr)}.ec-pf__v .we2-device,.ec-pf__v--svg{height:300px}}
@media (max-width:760px){.ec-pf__tabs{grid-template-columns:minmax(0,1fr)}.ec-pf__tabs button{border-right:0;border-top:1px solid var(--line)}.ec-pf__tabs button:first-child{border-top:0}.ec-pf__proc{grid-template-columns:repeat(2,1fr)}.ec-pc__art svg{max-height:80px}}

@media (min-width:1001px) and (max-height:800px){.ec-pc__art svg{max-height:58px}.ec-pc__pain{font-size:14px}.ec-pc__help{margin-bottom:10px}.ec .we2-sec,.ec-plan,.ec-dark{padding-block:24px}.ec .we2-head h2{font-size:clamp(22px,2.2vw,30px)}.ec-pf__v .we2-device,.ec-pf__v--svg{height:220px}.ec-sz__viz{display:none}.ec-sz__panel{grid-template-columns:minmax(0,1fr)}}
