*{box-sizing:border-box}
:root{--ew-muted:#5f6670}
html{scroll-behavior:smooth}
body{overflow-x:hidden}
img,svg,canvas{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{color:inherit}
a{color:inherit}
.container{width:min(calc(100% - 40px),var(--ew-container));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;z-index:1000;left:16px;top:-80px;background:var(--ew-signal);color:var(--ew-graphite);padding:10px 14px;border-radius:var(--r-sm);font-weight:800;text-decoration:none}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--ew-signal-ink);outline-offset:3px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{color:var(--ew-ink);letter-spacing:-.025em;line-height:1.08;text-wrap:balance}
h1{font-size:clamp(2.65rem,6vw,5.6rem);margin-bottom:24px}
h2{font-size:clamp(2rem,4vw,3.7rem);margin-bottom:20px}
h3{font-size:1.15rem}
p{font-size:1.04rem;line-height:1.72}
.eyebrow{margin:0 0 16px;font-family:var(--ew-mono);font-size:.74rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ew-muted)}
.dark-section{background:var(--ew-graphite);color:var(--ew-on-dark)}
.dark-section h1,.dark-section h2,.dark-section h3{color:var(--ew-on-dark)}
.dark-section .eyebrow{color:var(--ew-signal)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border:1px solid transparent;border-radius:var(--r-sm);font-size:.94rem;font-weight:800;text-decoration:none;transition:background-color 200ms ease,border-color 200ms ease,color 200ms ease}
.button-dark{background:var(--ew-graphite);color:#fff}
.button-dark:hover{background:#2a2e35}
.button-signal{background:var(--ew-signal);color:var(--ew-graphite)}
.button-signal:hover{background:#e1fb78}
.learn-link{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-weight:800;text-decoration:none}
.learn-link span{transition:transform 200ms ease}
.learn-link:hover span,.route-band:hover .learn-link span{transform:translateX(4px)}

.site-nav{position:sticky;z-index:100;top:0;height:64px;background:rgba(245,245,240,.96);border-bottom:1px solid var(--ew-divider);backdrop-filter:blur(12px)}
.nav-inner{height:64px;display:flex;align-items:center;gap:28px}
.brand{display:inline-flex;align-items:center;text-decoration:none;flex:none}
.brand img{width:141px;height:24px}
.nav-panel{display:flex;align-items:center;gap:24px;flex:1;height:100%}
.nav-spacer{flex:1}
.nav-link,.product-button{display:inline-flex;align-items:center;height:42px;padding:0;border:0;background:transparent;font-weight:700;text-decoration:none;cursor:pointer}
.nav-link[aria-current=page],.product-button[aria-current=page]{text-decoration:underline;text-decoration-color:var(--ew-signal-ink);text-decoration-thickness:2px;text-underline-offset:6px}
.product-disclosure{position:relative;height:100%;display:flex;align-items:center}
.product-button{gap:6px}
.product-button span{font-size:1.1rem;transition:transform 200ms ease}
.product-disclosure.is-open .product-button span{transform:rotate(180deg)}
.product-menu{position:absolute;top:56px;left:-18px;width:390px;padding:10px;background:var(--ew-paper);border:1px solid var(--ew-line);border-radius:var(--r-md);box-shadow:0 18px 48px rgba(21,24,29,.14);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity 160ms ease,transform 160ms ease,visibility 160ms;display:grid;gap:2px}
.product-disclosure:hover .product-menu,.product-disclosure.is-open .product-menu{opacity:1;visibility:visible;transform:none}
.product-menu a{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid transparent;border-radius:var(--r-sm);text-decoration:none;transition:background-color 200ms ease,border-color 200ms ease}
.product-menu a:hover{background:var(--ew-white);border-color:var(--ew-line)}
.product-menu img{width:22px;height:22px}
.product-menu strong,.product-menu small{display:block}
.product-menu small{margin-top:2px;color:var(--ew-muted);font-size:.79rem;line-height:1.4}
.nav-access{min-height:40px;padding-inline:16px}
.menu-button{display:none;width:44px;height:44px;border:0;background:transparent;margin-left:auto;cursor:pointer}
.menu-button span:not(.sr-only){display:block;width:22px;height:2px;background:var(--ew-graphite);margin:5px auto;transition:transform 200ms ease}

.hero{position:relative;min-height:520px;display:grid;align-items:center;isolation:isolate;overflow:hidden}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.hero-content{padding-block:110px}
.hero-content h1{max-width:820px}
.hero-content>p:not(.eyebrow){max-width:630px;color:var(--ew-on-dark-muted);font-size:1.18rem;margin-bottom:32px}
.trusted-section{padding:72px 0;border-bottom:1px solid var(--ew-line)}
.compact-heading{display:grid;grid-template-columns:1fr 2fr;column-gap:40px;align-items:end}
.compact-heading .eyebrow{grid-row:1/3;align-self:start}
.compact-heading h2{font-size:clamp(1.8rem,3vw,3rem)}
.compact-heading p:not(.eyebrow){max-width:760px;color:var(--ew-muted)}
.logo-row{display:grid;grid-template-columns:repeat(5,1fr);margin-top:40px;border-top:1px solid var(--ew-line);border-left:1px solid var(--ew-line)}
.logo-row span{min-height:82px;display:grid;place-items:center;padding:14px;border-right:1px solid var(--ew-line);border-bottom:1px solid var(--ew-line);font-weight:800;letter-spacing:-.02em;color:#555b63;filter:grayscale(1)}

.product-story,.content-section,.route-section,.docs-section,.form-section,.legal-section{padding:104px 0}
.product-story.alternate,.content-section.alternate,.docs-section.alternate{background:#eceee8}
.split-layout{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(320px,.86fr);gap:72px;align-items:center}
.split-layout.visual-first{grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr)}
.story-copy p:not(.eyebrow){max-width:560px;color:var(--ew-muted)}
.product-visual{min-width:0;border:1px solid var(--ew-line);border-radius:var(--r-lg);background:var(--ew-white);box-shadow:var(--ew-shadow-card)}

.model-browser{padding:18px;overflow:hidden}
.modality-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.modality-tabs button,.view-switch button{border:1px solid var(--ew-line);background:transparent;border-radius:var(--r-pill);padding:8px 13px;font-size:.78rem;font-weight:800;white-space:nowrap;cursor:pointer;transition:background-color 200ms ease,border-color 200ms ease}
.modality-tabs button:hover,.modality-tabs button.is-active{background:var(--ew-graphite);border-color:var(--ew-graphite);color:#fff}
.model-scene{height:150px;margin:14px 0;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:24px;border-radius:var(--r-md);background:var(--ew-graphite);color:#fff}
.scene-input,.model-scene strong{padding:10px 12px;border:1px solid rgba(255,255,255,.25);border-radius:var(--r-sm);font-size:.8rem}
.scene-line{height:1px;background:var(--ew-signal);position:relative}
.scene-line:after{content:"";position:absolute;right:0;top:-3px;border-left:6px solid var(--ew-signal);border-top:3px solid transparent;border-bottom:3px solid transparent}
.model-card-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}
.brand-model-card{flex:0 0 auto;min-width:0;display:grid;grid-template-columns:42px 1fr;gap:12px;padding:16px;border:1px solid var(--ew-line);border-radius:var(--r-md);background:var(--ew-paper);scroll-snap-align:start;transition:background-color 200ms ease,border-color 200ms ease}
.brand-model-card:hover{border-color:#9da39c;background:#fff}
.brand-model-card[hidden]{display:none}
.brand-model-card img{width:34px;height:34px;object-fit:contain;filter:grayscale(1)}
.brand-model-card span,.brand-model-card strong,.brand-model-card small{display:block;overflow-wrap:anywhere}
.brand-model-card span{font-size:.74rem;color:var(--ew-muted);margin-bottom:5px}
.brand-model-card strong{font-size:.88rem;line-height:1.35;margin-bottom:4px;color:var(--ew-ink)}
.brand-model-card small{font-size:.7rem;color:var(--ew-muted);line-height:1.4;margin-bottom:9px}
.wide-browser{padding:20px;background:var(--ew-white);border:1px solid var(--ew-line);border-radius:var(--r-lg)}
.model-card-grid{display:grid;gap:14px;margin-top:18px}


.tier-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}
.tier-card{display:flex;flex-direction:column;min-height:136px;padding:18px;border:1px solid var(--ew-line);border-radius:var(--r-md);background:var(--ew-paper)}
.tier-card span{font-family:var(--ew-mono);font-size:.72rem;color:var(--ew-muted)}
.tier-card strong{margin:8px 0 10px;font-size:1.4rem;color:var(--ew-ink)}
.tier-card small{line-height:1.45;color:var(--ew-muted)}
.tier-card em{margin-top:auto;padding-top:13px;font-style:normal;font-size:.73rem;color:var(--ew-signal-ink)}
.tier-card-grid.detailed{grid-template-columns:repeat(3,minmax(0,1fr));padding:0;background:transparent;border:0;box-shadow:none}
.tier-card-grid.detailed .tier-card{min-height:220px;background:#fff}

.boundary-diagram{min-height:390px;padding:34px;display:grid;grid-template-columns:auto 38px 1fr;gap:8px;align-items:center}
.agent-node{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px;border:1px solid var(--ew-line);border-radius:var(--r-md);font-weight:800;text-align:center}
.agent-node img{width:28px;height:28px}
.diagram-arrow{font-size:1.5rem;text-align:center}
.boundary-frame{position:relative;padding:35px 18px 18px;border:2px solid var(--ew-graphite);border-radius:var(--r-lg)}
.boundary-label{position:absolute;top:-12px;left:16px;padding:0 8px;background:#fff;font-family:var(--ew-mono);font-size:.7rem}
.state-layer{padding:20px;border:1px dashed #888f96;border-radius:var(--r-md)}
.state-layer>span{display:block;margin-bottom:16px;font-size:.72rem;color:var(--ew-muted)}
.tool-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tool-row b{display:grid;place-items:center;gap:7px;min-height:90px;padding:8px;background:var(--ew-paper);border-radius:var(--r-sm);font-size:.72rem}
.tool-row img{width:22px;height:22px}
.boundary-diagram.large{min-height:440px}

.responsibility-timeline{padding:30px;display:grid;grid-template-columns:1fr 30px 1fr 30px 1fr;align-items:center}
.responsibility-timeline article{min-height:180px;display:flex;flex-direction:column;justify-content:space-between;padding:20px;border:1px solid var(--ew-line);border-radius:var(--r-md);background:var(--ew-paper)}
.responsibility-timeline strong{font-size:1.35rem;color:var(--ew-ink)}
.responsibility-timeline span{color:var(--ew-muted);font-size:.82rem;line-height:1.5}
.responsibility-timeline>i,.lifecycle-timeline>i{height:1px;background:var(--ew-graphite)}
.responsibility-timeline.detailed{padding:0;background:transparent;border:0;box-shadow:none}
.responsibility-timeline.detailed article{min-height:260px;background:#fff}
.responsibility-timeline.detailed span{font-size:.96rem}

.partner-section{padding:104px 0;overflow:hidden}
.partner-heading{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}
.partner-heading>div:first-child{max-width:690px}
.partner-heading p:not(.eyebrow){color:var(--ew-on-dark-muted)}
.view-switch{display:flex;gap:6px}
.view-switch button{color:#fff;border-color:rgba(255,255,255,.28)}
.view-switch button.is-active{color:var(--ew-graphite);background:var(--ew-signal);border-color:var(--ew-signal)}
.partner-views{margin-top:42px}
.architecture-view,.contour-view{height:430px;border:1px solid rgba(255,255,255,.17);border-radius:var(--r-lg);background:#101318;position:relative;overflow:hidden}
.architecture-nodes{position:absolute;left:5%;right:5%;top:34px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.architecture-nodes span,.coordination-node,.account-nodes span{display:grid;place-items:center;min-height:62px;border:1px solid rgba(255,255,255,.3);border-radius:var(--r-md);background:#181c22;color:#fff;font-weight:800;text-align:center;padding:10px}
.coordination-node{position:absolute;width:260px;left:calc(50% - 130px);top:190px;border-color:var(--ew-signal);color:var(--ew-signal)}
.account-nodes{position:absolute;width:420px;left:calc(50% - 210px);bottom:32px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.coordination-node:after{content:"";position:absolute;top:100%;left:50%;width:1px;height:64px;background:rgba(214,245,90,.7)}
.coordination-node:before{content:"";position:absolute;z-index:2;left:calc(50% - 3px);bottom:-38px;width:7px;height:7px;border-radius:50%;background:var(--ew-signal);box-shadow:0 0 10px var(--ew-signal);animation:lower-signal-flow 30s linear infinite}
.account-nodes:before{content:"";position:absolute;left:25%;right:25%;top:-20px;height:20px;border:1px solid rgba(214,245,90,.7);border-bottom:0}
.architecture-lines{position:absolute;inset:0}
.architecture-lines i{position:absolute;top:96px;width:1px;height:94px;background:rgba(214,245,90,.7)}
.architecture-lines i:nth-child(1){left:16.25%;transform:rotate(-18deg);transform-origin:bottom}.architecture-lines i:nth-child(2){left:38.75%;transform:rotate(-7deg);transform-origin:bottom}.architecture-lines i:nth-child(3){left:61.25%;transform:rotate(7deg);transform-origin:bottom}.architecture-lines i:nth-child(4){left:83.75%;transform:rotate(18deg);transform-origin:bottom}
.architecture-lines b{position:absolute;top:86px;width:7px;height:7px;border-radius:50%;background:var(--ew-signal);box-shadow:0 0 10px var(--ew-signal);animation:signal-flow 30s linear infinite}
.architecture-lines b:nth-of-type(1){left:16.25%}.architecture-lines b:nth-of-type(2){left:38.75%;animation-delay:-7.5s}.architecture-lines b:nth-of-type(3){left:61.25%;animation-delay:-15s}.architecture-lines b:nth-of-type(4){left:83.75%;animation-delay:-22.5s}
@keyframes signal-flow{0%{transform:translateY(0);opacity:0}10%{opacity:1}75%{opacity:1}100%{transform:translateY(180px);opacity:0}}
@keyframes lower-signal-flow{0%{transform:translateY(0);opacity:0}10%{opacity:1}75%{opacity:1}100%{transform:translateY(58px);opacity:0}}
.contour-view svg{width:100%;height:100%}
.contours{stroke:var(--ew-signal);stroke-width:1.2;opacity:.72;stroke-dasharray:9 7;animation:contour-drift 30s linear infinite}
.contours ellipse{stroke-width:2}.contour-labels{fill:#fff;font-family:var(--ew-mono);font-size:14px}.contour-labels text:nth-last-child(-n+2){fill:var(--ew-signal);font-weight:700}
@keyframes contour-drift{to{stroke-dashoffset:-96}}


.access-layout{display:grid;grid-template-columns:1.1fr 1fr auto;gap:48px;align-items:center}
.thin-line-flow{display:flex;align-items:center;gap:10px;min-width:0}
.thin-line-flow span{flex:1;min-width:0;padding:11px 9px;border:1px solid rgba(255,255,255,.28);border-radius:var(--r-sm);font-size:.72rem;text-align:center;line-height:1.35}
.thin-line-flow i{width:22px;height:1px;background:var(--ew-signal);flex:none}

.page-header{padding:92px 0 84px;border-bottom:1px solid var(--ew-line)}
.page-header-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);gap:80px;align-items:center}
.page-header h1{font-size:clamp(2.6rem,5vw,4.8rem)}
.page-header p:not(.eyebrow){max-width:670px;color:var(--ew-muted);font-size:1.1rem}
.breadcrumbs{display:flex;gap:9px;margin-bottom:34px;font-size:.78rem;color:var(--ew-muted)}
.breadcrumbs a{text-underline-offset:3px}
.constraint-map{aspect-ratio:1.1;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:46px;border:1px solid var(--ew-line);border-radius:50%;background:#fff}
.constraint-map span{display:grid;place-items:center;text-align:center;padding:12px;border:1px solid var(--ew-line);border-radius:var(--r-md);font-size:.78rem;font-weight:800}
.constraint-map b{position:absolute;left:50%;top:50%;translate:-50% -50%;display:grid;place-items:center;width:104px;height:104px;border-radius:50%;background:var(--ew-graphite);color:#fff}
.route-list{display:grid;gap:16px}
.route-band{display:grid;grid-template-columns:1.18fr .82fr;gap:54px;align-items:center;padding:34px;border:1px solid var(--ew-line);border-radius:var(--r-lg);background:#fff;text-decoration:none;transition:background-color 200ms ease,border-color 200ms ease}
.route-band:hover{border-color:#969d95;background:#fafbf7}
.route-band>div:first-child>img{width:28px;height:28px;margin-bottom:16px}
.route-band h2{font-size:clamp(1.55rem,3vw,2.5rem);margin-bottom:12px}
.route-band p:not(.eyebrow){color:var(--ew-muted)}
.mini-route{min-height:200px;border-radius:var(--r-md);background:var(--ew-graphite);color:#fff;padding:24px}
.protocol-mini{display:grid;grid-template-columns:auto 50px 1fr 1fr;gap:9px;align-items:center}.protocol-mini i{height:1px;background:var(--ew-signal)}.protocol-mini span{padding:12px;border:1px solid rgba(255,255,255,.25);border-radius:var(--r-sm);text-align:center}
.workload-mini{display:grid;place-items:center}.workload-mini svg{width:100%}.workload-mini path{stroke:var(--ew-signal);stroke-width:3}.workload-mini line{stroke:rgba(255,255,255,.4)}.workload-mini text{fill:#fff;font-size:10px}
.boundary-mini{display:grid;grid-template-columns:auto 36px 1fr;gap:8px;align-items:center}.boundary-mini>b{padding:12px;border:1px solid rgba(255,255,255,.25);border-radius:var(--r-sm);text-align:center}.boundary-mini>i{height:1px;background:var(--ew-signal)}.boundary-mini>span{display:grid;gap:8px;padding:14px;border:1px solid var(--ew-signal);border-radius:var(--r-md)}.boundary-mini em{padding:7px;border:1px solid rgba(255,255,255,.22);border-radius:var(--r-sm);font-style:normal;font-size:.72rem;text-align:center}
.operating-mini{display:grid;grid-template-columns:1fr 32px 1fr;align-items:center;gap:7px}.operating-mini span{padding:12px;border:1px solid rgba(255,255,255,.25);border-radius:var(--r-sm);text-align:center}.operating-mini i{height:1px;background:var(--ew-signal)}.operating-mini b{grid-column:1/4;text-align:center;color:var(--ew-signal);margin-top:18px}

.protocol-preview,.workload-trace,.sandbox-preview,.process-preview,.scope-map{min-height:330px;border:1px solid var(--ew-line);border-radius:var(--r-lg);background:#fff}
.protocol-preview{display:grid;grid-template-columns:auto 70px 1fr;gap:12px;align-items:center;padding:36px}.protocol-preview>span,.protocol-preview b{padding:14px;border:1px solid var(--ew-line);border-radius:var(--r-sm);text-align:center}.protocol-preview>i{height:1px;background:var(--ew-graphite)}.protocol-preview>div{display:grid;gap:12px}
.workload-trace{display:grid;place-items:center;padding:30px}.workload-trace path{stroke:var(--ew-signal-ink);stroke-width:4}.workload-trace line{stroke:var(--ew-line)}.workload-trace text{fill:var(--ew-muted);font-size:14px}
.sandbox-preview{display:grid;place-items:center;background:var(--ew-graphite);border-color:var(--ew-graphite)}.sandbox-preview>div{display:grid;place-items:center;gap:10px;width:68%;height:68%;border:1px solid var(--ew-signal);border-radius:var(--r-lg);color:#fff}.sandbox-preview img{width:44px;filter:invert(1)}.sandbox-preview span{color:var(--ew-signal);font-size:.78rem}
.process-preview{display:grid;grid-template-columns:1fr 90px 1fr;align-items:center;gap:10px;padding:36px;background:var(--ew-graphite);color:#fff}.process-preview span{padding:16px;border:1px solid rgba(255,255,255,.3);border-radius:var(--r-sm);text-align:center}.process-preview i{height:1px;background:var(--ew-signal)}
.section-heading{max-width:780px;margin-bottom:40px}.section-heading>p:not(.eyebrow){color:var(--ew-muted)}
.protocol-flow{padding:30px;display:grid;grid-template-columns:1fr 36px 1.2fr;gap:10px;align-items:center;border:1px solid var(--ew-line);border-radius:var(--r-lg);background:#fff}.protocol-flow>span{padding:14px;border:1px solid var(--ew-line);border-radius:var(--r-sm);text-align:center}.protocol-flow>i{height:1px;background:var(--ew-signal-ink)}.protocol-flow>div:not(.family-cloud){display:grid;gap:10px}.protocol-flow b{padding:11px;border:1px solid var(--ew-line);border-radius:var(--r-sm);text-align:center;font-size:.8rem}.protocol-flow .family-cloud{grid-column:1/4;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--ew-line)}.family-cloud span{padding:6px 9px;border-radius:var(--r-pill);background:var(--ew-signal-tint);font-size:.72rem}
.comparison-panel{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ew-line);border-radius:var(--r-lg);overflow:hidden;background:#fff}.comparison-panel article{padding:34px}.comparison-panel article+article{border-left:1px solid var(--ew-line)}.comparison-panel article>span{font-family:var(--ew-mono);font-size:.72rem;color:var(--ew-signal-ink)}.comparison-panel p,.comparison-panel li{color:var(--ew-muted)}.comparison-panel li{margin-bottom:8px}.comparison-panel footer{grid-column:1/3;display:flex;justify-content:space-between;gap:20px;padding:20px 34px;background:var(--ew-graphite);color:#fff}.comparison-panel footer span{color:var(--ew-signal);font-family:var(--ew-mono);font-size:.73rem}.comparison-panel footer strong{font-size:.8rem;text-align:right}
.mini-matrix{position:relative;min-height:400px;border-left:1px solid var(--ew-graphite);border-bottom:1px solid var(--ew-graphite);background:linear-gradient(135deg,transparent 49.8%,rgba(21,24,29,.08) 50%);margin:30px;padding:20px}.mini-matrix .axis-y{position:absolute;left:-32px;top:50%;transform:rotate(-90deg) translateX(-50%);transform-origin:left top;font-size:.72rem}.mini-matrix .axis-x{position:absolute;right:0;bottom:-32px;font-size:.72rem}.mini-matrix b{position:absolute;padding:10px 13px;border-radius:var(--r-sm);background:#fff;border:1px solid var(--ew-line);font-size:.8rem}.matrix-serverless{left:10%;bottom:14%}.matrix-demand{left:43%;bottom:38%}.matrix-reserved{right:8%;top:14%}
.responsive-table{max-width:100%;overflow:auto;border:1px solid var(--ew-line);border-radius:var(--r-lg);background:#fff}.responsive-table table{width:100%;min-width:900px;border-collapse:collapse}.responsive-table th,.responsive-table td{padding:17px;text-align:left;vertical-align:top;border-bottom:1px solid var(--ew-line);line-height:1.5}.responsive-table thead th{background:var(--ew-graphite);color:#fff;font-size:.76rem}.responsive-table tbody th{color:var(--ew-ink)}
.capability-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--ew-line);border-left:1px solid var(--ew-line)}
.capability-grid article{min-height:220px;padding:20px;border-right:1px solid var(--ew-line);border-bottom:1px solid var(--ew-line);background:#fff}.capability-grid img{width:26px;height:26px;margin-bottom:28px}.capability-grid span{font-family:var(--ew-mono);font-size:.68rem;color:var(--ew-signal-ink)}.capability-grid h3{margin:8px 0}.capability-grid p{font-size:.85rem;color:var(--ew-muted)}
.lifecycle-timeline{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr 28px 1fr;align-items:center}.lifecycle-timeline article{min-height:220px;padding:22px;border:1px solid var(--ew-line);border-radius:var(--r-md);background:#fff}.lifecycle-timeline img{width:27px;margin-bottom:40px}.lifecycle-timeline strong,.lifecycle-timeline span{display:block}.lifecycle-timeline span{margin-top:10px;color:var(--ew-muted);font-size:.85rem}
.system-architecture{position:relative;padding:28px;border:1px solid var(--ew-line);border-radius:var(--r-lg);background:#fff;text-align:center}.system-top,.system-middle,.system-base{display:grid;gap:10px}.system-top{grid-template-columns:1fr auto}.system-middle{grid-template-columns:1fr auto 1fr}.system-base{grid-template-columns:repeat(3,1fr)}.system-architecture span,.system-architecture b{padding:11px;border:1px solid var(--ew-line);border-radius:var(--r-sm)}.system-architecture>i{display:block;width:1px;height:34px;background:var(--ew-signal-ink);margin:auto}.system-middle em{align-self:center;font-style:normal}.operation-decision{display:inline-block;margin-top:18px;color:var(--ew-signal-ink)}
.before-after{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ew-line);border-radius:var(--r-lg);overflow:hidden;background:#fff}.before-after article{padding:32px}.before-after article+article{border-left:1px solid var(--ew-line);background:#f0f2e7}.before-after article>span{font-family:var(--ew-mono);font-size:.7rem;color:var(--ew-signal-ink)}.before-after p{color:var(--ew-muted);font-size:.9rem}.handoff-chain{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:30px 0}.handoff-chain b{padding:9px;border:1px solid var(--ew-line);border-radius:var(--r-sm);font-size:.75rem}.handoff-chain i{width:18px;height:1px;background:#a0a59f}.operated-system{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:30px 0}.operated-system>b{padding:12px;border:1px solid #afb69e;border-radius:var(--r-sm);font-size:.73rem;text-align:center}.operated-system footer{grid-column:1/4;padding:10px;background:var(--ew-graphite);color:#fff;border-radius:var(--r-sm);text-align:center;font-size:.72rem}

.docs-nav{position:sticky;z-index:50;top:64px;background:rgba(245,245,240,.97);border-bottom:1px solid var(--ew-line);overflow-x:auto}.docs-nav .container{display:flex;gap:26px;min-width:max-content}.docs-nav a{display:block;padding:15px 0;font-size:.78rem;font-weight:800;text-decoration:none}.scope-map{display:grid;grid-template-columns:1fr 30px 1fr;gap:12px;align-items:center;padding:28px}.scope-map article{display:grid;gap:8px;padding:18px;border:1px solid var(--ew-line);border-radius:var(--r-md)}.scope-map article>span{color:var(--ew-signal-ink);font-family:var(--ew-mono);font-size:.7rem}.scope-map strong{font-size:.78rem}.scope-map>i{height:1px;background:var(--ew-graphite)}
.docs-grid{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:72px;align-items:start}.docs-grid>div:first-child>p:not(.eyebrow){color:var(--ew-muted)}
.accordion-list{border-top:1px solid var(--ew-line)}.accordion-list details{border-bottom:1px solid var(--ew-line)}.accordion-list summary{position:relative;padding:20px 42px 20px 0;cursor:pointer;font-weight:800;list-style:none}.accordion-list summary::-webkit-details-marker{display:none}.accordion-list summary:after{content:"+";position:absolute;right:8px;top:18px;font-size:1.3rem}.accordion-list details[open] summary:after{content:"−"}.accordion-list details p{padding:0 42px 18px 0;color:var(--ew-muted);font-size:.92rem}
.docs-comparison,.docs-timeline{display:grid;grid-template-columns:1fr 34px 1fr;align-items:center;margin-top:30px}.docs-comparison span,.docs-timeline span{padding:12px;border:1px solid var(--ew-line);border-radius:var(--r-sm);text-align:center;font-weight:800}.docs-comparison i,.docs-timeline i{height:1px;background:var(--ew-signal-ink)}.docs-timeline{grid-template-columns:1fr 20px 1fr 20px 1fr}
.docs-mini-matrix{position:relative;height:190px;margin-top:30px;border-left:1px solid var(--ew-graphite);border-bottom:1px solid var(--ew-graphite)}.docs-mini-matrix i:first-child{position:absolute;left:15%;bottom:18%;width:13px;height:13px;border-radius:50%;background:var(--ew-signal-ink)}.docs-mini-matrix i:nth-child(2){position:absolute;right:15%;top:16%;width:13px;height:13px;border-radius:50%;background:var(--ew-graphite)}.docs-mini-matrix span{position:absolute;font-size:.72rem}.docs-mini-matrix span:nth-of-type(1){left:7%;bottom:2%}.docs-mini-matrix span:nth-of-type(2){right:3%;top:2%}
.docs-boundary{margin-top:30px;padding:26px;border:2px solid var(--ew-graphite);border-radius:var(--r-lg)}.docs-boundary>span{display:block;margin-bottom:18px;font-family:var(--ew-mono);font-size:.72rem}.docs-boundary div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.docs-boundary b{padding:12px;background:#fff;border:1px solid var(--ew-line);border-radius:var(--r-sm);text-align:center;font-size:.74rem}
.control-checklist{display:grid;gap:12px}.control-checklist article{display:grid;grid-template-columns:34px 1fr;gap:4px 14px;padding:18px;border:1px solid var(--ew-line);border-radius:var(--r-md);background:#fff}.control-checklist img{grid-row:1/3;width:28px}.control-checklist span{color:var(--ew-muted);font-size:.82rem}

.access-header .vertical-flow{border:1px solid var(--ew-line);border-radius:var(--r-lg);background:#fff;padding:34px;color:var(--ew-ink)}
.vertical-flow{flex-direction:column;align-items:stretch}.vertical-flow span{border-color:var(--ew-line);font-weight:800}.vertical-flow i{width:1px;height:26px;margin:auto;background:var(--ew-signal-ink)}
.form-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start}.form-layout aside{position:sticky;top:110px;padding:28px;background:var(--ew-graphite);color:#fff;border-radius:var(--r-lg)}.form-layout aside>img{width:34px;filter:invert(1);margin-bottom:24px}.form-layout aside h2{color:#fff;font-size:2rem}.form-layout aside p{color:var(--ew-on-dark-muted)}.form-layout dl div{padding:15px 0;border-top:1px solid rgba(255,255,255,.14)}.form-layout dt{color:var(--ew-signal);font-weight:800}.form-layout dd{margin:4px 0 0;color:var(--ew-on-dark-muted);font-size:.85rem}
.form-card{padding:34px;border:1px solid var(--ew-line);border-radius:var(--r-lg);background:#fff}.form-card form{display:grid;gap:18px}.form-card label,.form-card legend{font-size:.84rem;font-weight:800;color:var(--ew-ink)}.form-card input,.form-card select,.form-card textarea{display:block;width:100%;margin-top:7px;padding:11px 12px;border:1px solid #b9bdb8;border-radius:var(--r-sm);background:#fff;color:var(--ew-ink)}.form-card textarea{resize:vertical}.form-card fieldset{border:1px solid var(--ew-line);border-radius:var(--r-sm);padding:16px}.form-card legend{padding:0 6px}.form-card .choice{display:flex;align-items:center;gap:9px;margin:9px 0;font-weight:600}.form-card .choice input{width:auto;margin:0}.honeypot{position:absolute;left:-9999px}.form-notice{font-size:.78rem;color:var(--ew-muted)}.form-status:empty{display:none}.form-status{padding:12px;border-radius:var(--r-sm)}.form-status.error{background:var(--ew-danger-bg);color:var(--ew-danger)}.form-status.success{background:var(--ew-success-bg);color:var(--ew-success)}.success-card{padding:30px;border:1px solid var(--ew-line);border-radius:var(--r-md);background:var(--ew-signal-tint)}.success-card img{width:34px;margin-bottom:20px}

.legal-header .legal-index{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:28px;border:1px solid var(--ew-line);border-radius:var(--r-lg);background:#fff}.legal-index span{padding:12px;border:1px solid var(--ew-line);border-radius:var(--r-sm);font-size:.78rem;font-weight:800}.legal-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:76px;align-items:start}.legal-layout>nav{position:sticky;top:110px;display:grid;gap:10px;padding:22px;border:1px solid var(--ew-line);border-radius:var(--r-md);background:#fff}.legal-layout>nav h2{font-size:1.15rem}.legal-layout>nav a{font-size:.82rem;text-underline-offset:3px}.legal-copy{display:grid;gap:16px}.legal-copy article,.legal-callout{padding:26px;border:1px solid var(--ew-line);border-radius:var(--r-md);background:#fff}.legal-copy article h2{font-size:1.45rem}.legal-copy article p{margin:0;color:var(--ew-muted)}.legal-callout{border-left:4px solid var(--ew-signal-ink);background:var(--ew-signal-tint);font-weight:700;border-top-left-radius:0;border-bottom-left-radius:0}

.not-found-section{position:relative;min-height:680px;display:grid;align-items:center;background:var(--ew-graphite);color:#fff;overflow:hidden}.not-found-section canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.9}.not-found-content{position:relative;z-index:1}.not-found-content h1{color:#fff;max-width:700px}.not-found-content p:not(.eyebrow){color:var(--ew-on-dark-muted);max-width:520px}

.site-footer{padding:72px 0 24px;background:#0f1216;color:#fff}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr .8fr;gap:48px}.footer-brand p{max-width:340px;color:#aeb4bc;font-size:.9rem;margin-top:20px}.site-footer h2{font-family:var(--ew-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ew-signal)}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:9px 0}.site-footer a{text-decoration:none;font-size:.86rem;color:#d9dde2}.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}.footer-base{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:24px;margin-top:24px;border-top:1px solid rgba(255,255,255,.13);font-size:.75rem;color:#8e959e}

.ew-reveal{opacity:.25;transform:translateY(12px);transition:opacity 600ms var(--ew-ease),transform 600ms var(--ew-ease)}.ew-reveal.is-in{opacity:1;transform:none}

@media(max-width:1050px){
  .split-layout,.split-layout.visual-first,.page-header-grid{grid-template-columns:minmax(0,1fr);gap:44px}.split-layout.visual-first .product-visual{order:2}.split-layout.visual-first .story-copy{order:1}
  .model-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tier-card-grid.detailed{grid-template-columns:repeat(2,minmax(0,1fr))}.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .access-layout{grid-template-columns:1fr 1fr}.access-layout .button{grid-column:1/-1;justify-self:start}
  .docs-grid{gap:42px}.footer-grid{grid-template-columns:2fr 1fr 1fr}.footer-grid>div:nth-child(4){grid-column:2}.footer-base{grid-column:1/-1}
}
@media(max-width:800px){
  .container{width:min(calc(100% - 28px),var(--ew-container))}.site-nav,.nav-inner{height:60px}.site-nav{top:0}.menu-button{display:block}.menu-button[aria-expanded=true] span:nth-of-type(1){transform:translateY(3.5px) rotate(45deg)}.menu-button[aria-expanded=true] span:nth-of-type(2){transform:translateY(-3.5px) rotate(-45deg)}
  .nav-panel{position:absolute;left:0;right:0;top:60px;height:auto;display:none;padding:12px 14px 18px;background:var(--ew-paper);border-bottom:1px solid var(--ew-line);align-items:stretch;flex-direction:column;gap:5px}.nav-panel.is-open{display:flex}.nav-spacer{display:none}.nav-link,.product-button{width:100%;height:42px}.product-disclosure{height:auto;display:block}.product-menu{position:static;width:auto;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;margin:4px 0 8px;padding:6px}.product-disclosure.is-open .product-menu{display:grid}.product-disclosure:not(.is-open):hover .product-menu,.product-disclosure:not(.is-open):focus-within .product-menu{display:none}.nav-access{width:100%;margin-top:6px}.docs-nav{top:60px}
  .hero{min-height:650px}.hero-content{padding-block:90px}.trusted-section,.product-story,.content-section,.route-section,.docs-section,.form-section,.legal-section,.partner-section{padding:72px 0}.compact-heading{grid-template-columns:1fr}.compact-heading .eyebrow{grid-row:auto}.logo-row{grid-template-columns:repeat(2,1fr)}
  .route-band{grid-template-columns:1fr;gap:24px;padding:24px}.mini-route{min-height:170px}.partner-heading{grid-template-columns:1fr}.architecture-view,.contour-view{height:500px}.architecture-nodes{grid-template-columns:1fr 1fr}.architecture-lines{display:none}.coordination-node{top:250px}.account-nodes{width:calc(100% - 40px);left:20px}.contour-labels{font-size:12px}
  .access-layout{grid-template-columns:1fr}.access-layout .button{grid-column:auto}.thin-line-flow{flex-wrap:wrap}.thin-line-flow i{width:12px}
  .responsibility-timeline,.responsibility-timeline.detailed,.lifecycle-timeline{grid-template-columns:1fr}.responsibility-timeline>i,.lifecycle-timeline>i{width:1px;height:24px;margin:auto}.responsibility-timeline article,.responsibility-timeline.detailed article,.lifecycle-timeline article{min-height:0}
  .comparison-panel{grid-template-columns:1fr}.comparison-panel article+article{border-left:0;border-top:1px solid var(--ew-line)}.comparison-panel footer{grid-column:1;display:grid}.comparison-panel footer strong{text-align:left}
  .docs-grid{grid-template-columns:1fr}.docs-grid>div:first-child{padding-bottom:34px;border-bottom:1px solid var(--ew-line)}.form-layout{grid-template-columns:1fr}.form-layout aside{position:static}.legal-layout{grid-template-columns:1fr;gap:30px}.legal-layout>nav{position:static}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-grid>div:nth-child(4){grid-column:auto}
}
@media(max-width:560px){
  h1{font-size:2.55rem}h2{font-size:2rem}.page-header{padding:62px 0}.page-header h1{font-size:2.55rem}.hero{min-height:620px}.hero-content>p:not(.eyebrow){font-size:1rem}.logo-row span{min-height:70px;font-size:.82rem}
  .model-scene{grid-template-columns:1fr;height:auto}.scene-line{width:1px;height:30px;margin:auto}.scene-line:after{display:none}.model-card-grid,.tier-card-grid,.tier-card-grid.detailed,.capability-grid{grid-template-columns:1fr}.boundary-diagram{grid-template-columns:1fr;min-height:0}.diagram-arrow{transform:rotate(90deg)}.tool-row{grid-template-columns:1fr}.partner-heading .view-switch{width:100%}.view-switch button{flex:1}.architecture-nodes{left:18px;right:18px}.coordination-node{width:220px;left:calc(50% - 110px)}
  .route-band{padding:20px}.protocol-mini{grid-template-columns:1fr}.protocol-mini i{width:1px;height:24px;margin:auto}.system-base,.operated-system{grid-template-columns:1fr}.operated-system footer{grid-column:1}.before-after{grid-template-columns:1fr}.before-after article+article{border-left:0;border-top:1px solid var(--ew-line)}.handoff-chain{display:grid;grid-template-columns:1fr}.handoff-chain i{width:1px;height:12px;margin:auto}.legal-header .legal-index{grid-template-columns:1fr}.form-card{padding:22px}.footer-grid{grid-template-columns:1fr}.footer-brand,.footer-base{grid-column:1}.footer-base{display:grid;gap:8px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ew-reveal{opacity:1;transform:none;transition:none}.button,.learn-link span,.product-menu,.product-menu a,.brand-model-card,.route-band,.architecture-lines b,.coordination-node:before,.contours{transition:none;animation:none}.architecture-lines b{opacity:1;transform:translateY(88px)}.coordination-node:before{opacity:1;transform:translateY(28px)}}

/* W72e: current public-site layout and approved visual system. */
.nav-link,.disclosure-button{display:inline-flex;align-items:center;height:42px;padding:0;border:0;background:transparent;font-weight:700;text-decoration:none;cursor:pointer}
.nav-disclosure{position:relative;height:100%;display:flex;align-items:center}
.disclosure-button{gap:6px}.disclosure-button span{font-size:1.1rem;transition:transform 200ms ease}
.nav-disclosure.is-open .disclosure-button span{transform:rotate(180deg)}
.disclosure-menu{position:absolute;top:56px;left:-18px;width:390px;padding:10px;background:var(--ew-paper);border:1px solid var(--ew-line);border-radius:var(--r-md);box-shadow:0 18px 48px rgba(21,24,29,.14);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity 160ms ease,transform 160ms ease,visibility 160ms;display:grid;gap:2px}
.nav-disclosure:hover .disclosure-menu,.nav-disclosure.is-open .disclosure-menu{opacity:1;visibility:visible;transform:none}
.disclosure-menu a{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid transparent;border-radius:var(--r-sm);text-decoration:none}
.disclosure-menu a:hover{background:var(--ew-white);border-color:var(--ew-line)}
.disclosure-menu img{width:22px;height:22px}.disclosure-menu strong,.disclosure-menu small{display:block}.disclosure-menu small{margin-top:2px;color:var(--ew-muted);font-size:.79rem;line-height:1.4}
.company-menu{width:340px}.company-menu a{grid-template-columns:1fr}
.nav-link[aria-current=page],.disclosure-button[aria-current=page]{text-decoration:underline;text-decoration-color:var(--ew-signal-ink);text-decoration-thickness:2px;text-underline-offset:6px}

.hero{height:500px;min-height:500px}.hero-content{padding-block:52px}.hero-content h1{max-width:880px;font-size:clamp(2.4rem,3.6vw,3.5rem)}
.service-intro{padding:82px 0 14px}.service-intro h2{max-width:820px}.service-intro p:not(.eyebrow){max-width:720px;color:var(--ew-muted)}
.logo-row span{display:flex;flex-direction:column;gap:8px}.logo-row img{width:28px;height:28px;object-fit:contain;color:var(--ew-ink)}
.story-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 48px;align-items:end;margin-bottom:34px}.story-heading .eyebrow{grid-column:1/-1}.story-heading h2{margin:0}.story-heading p{grid-column:1;max-width:660px;margin:0;color:var(--ew-muted)}.story-heading .learn-link{grid-column:2;grid-row:2/4;align-self:center}
.model-flow{display:grid;grid-template-columns:minmax(0,1.5fr) 48px auto 48px minmax(0,1fr);gap:12px;align-items:center;padding:26px;margin-bottom:18px;border:1px solid var(--ew-line);border-radius:var(--r-lg);background:var(--ew-graphite);color:#fff}
.model-flow>i,.capacity-map>i,.system-responsibility>i{height:1px;background:var(--ew-signal)}
.model-flow>strong,.capacity-map>strong,.system-responsibility>strong{padding:16px;border:1px solid var(--ew-signal);border-radius:var(--r-sm);color:var(--ew-signal);text-align:center}
.flow-group{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.flow-group span{padding:10px 7px;border:1px solid rgba(255,255,255,.24);border-radius:var(--r-sm);font-size:.72rem;text-align:center}.flow-apps{grid-template-columns:repeat(3,1fr)}
.model-browser{padding:20px;background:var(--ew-white);border:1px solid var(--ew-line);border-radius:var(--r-lg)}
.model-card-grid{grid-auto-rows:1fr}.model-card-grid .brand-model-card img{color:var(--ew-ink)}


.tier-card-grid-wide{margin-top:26px;padding:0;border:0;background:transparent}.tier-card-grid-wide .tier-card{background:#fff}
.product-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:66px;align-items:center}
.product-header h1{font-size:clamp(2.55rem,4.4vw,4rem);line-height:1.02}.product-header{padding:78px 0}.product-header p:not(.eyebrow){max-width:610px}
.hero-flow{margin:0;grid-template-columns:1fr 30px auto 30px .7fr;padding:22px}.hero-flow .flow-group{grid-template-columns:repeat(2,1fr)}.hero-flow .flow-group span:last-child{grid-column:1/-1}.hero-flow .flow-apps{grid-template-columns:1fr}
.capacity-map,.system-responsibility{min-height:330px;display:grid;grid-template-columns:1fr 34px auto 34px 1fr;gap:10px;align-items:center;padding:28px;border:1px solid var(--ew-line);border-radius:var(--r-lg);background:#fff}
.capacity-map>div,.system-responsibility>div{display:grid;gap:9px}.capacity-map span,.capacity-map b,.system-responsibility span{padding:11px;border:1px solid var(--ew-line);border-radius:var(--r-sm);font-size:.76rem;text-align:center}.capacity-map b{display:block}
.mini-matrix{position:relative;min-height:280px;border-left:1px solid var(--ew-graphite);border-bottom:1px solid var(--ew-graphite);background:linear-gradient(135deg,transparent 49.8%,var(--ew-line) 50%,transparent 50.2%)}.mini-matrix span{position:absolute;font-size:.72rem}.mini-matrix span:nth-child(1){left:10px;bottom:10px}.mini-matrix span:nth-child(2){right:10px;top:10px}.mini-matrix span:nth-child(3){left:10px;top:10px}.mini-matrix span:nth-child(4){right:10px;bottom:10px}.mini-matrix b{position:absolute;left:52%;top:45%;translate:-50% -50%;padding:12px;border-radius:50%;background:var(--ew-graphite);color:#fff;font-size:.72rem}
.hero-boundary{min-height:330px;background:#fff}.boundary-notes{display:grid;gap:10px}.boundary-notes span{padding:18px;border:1px solid var(--ew-line);border-radius:var(--r-sm);background:#fff;font-weight:750}
.system-responsibility>div:first-child{grid-template-columns:1fr}.system-responsibility>div:last-child{grid-template-columns:1fr}
.capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.capability-grid article{min-height:230px;padding:24px;border:1px solid var(--ew-line);border-radius:var(--r-md);background:#fff}.capability-grid h3{font-size:1.22rem}.capability-grid p{font-size:.91rem;color:var(--ew-muted)}.capability-grid p:last-child{margin-bottom:0;color:var(--ew-text);font-weight:650}
.lifecycle-timeline{display:grid;grid-template-columns:repeat(11,auto);gap:9px;align-items:center;margin-top:32px;padding:26px;border:1px solid var(--ew-line);border-radius:var(--r-md);background:#fff}.lifecycle-timeline span{padding:10px;border:1px solid var(--ew-line);border-radius:var(--r-sm);font-size:.76rem;font-weight:800}.lifecycle-timeline i{min-width:14px}
.phase-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}.phase-timeline article{min-height:260px;padding:24px;border:1px solid var(--ew-line);border-radius:var(--r-md);background:#fff;display:flex;flex-direction:column;gap:13px}.phase-timeline span{font-family:var(--ew-mono);font-size:.72rem;color:var(--ew-signal-ink)}.phase-timeline strong{padding-top:12px;border-top:1px solid var(--ew-line);font-size:.86rem}

.partner-section{padding:94px 0}.partner-square{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.partner-copy p:not(.eyebrow){color:var(--ew-on-dark-muted)}
.partner-grid{position:relative;aspect-ratio:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;padding:46px;border:1px solid rgba(214,245,90,.5);border-radius:var(--r-lg);background:repeating-radial-gradient(circle at 50% 50%,rgba(214,245,90,.08) 0 1px,transparent 2px 28px)}
.partner-grid>span{display:grid;place-items:center;padding:18px;border:1px solid rgba(255,255,255,.26);border-radius:var(--r-md);background:rgba(21,24,29,.84);font-weight:800;text-align:center}.partner-grid>b{position:absolute;left:50%;top:50%;translate:-50% -50%;display:grid;place-items:center;width:150px;height:150px;border:1px solid var(--ew-signal);border-radius:50%;background:var(--ew-graphite);color:var(--ew-signal);text-align:center}.partner-grid small{color:#fff;font-weight:500}

.access-band{position:relative;isolation:isolate;overflow:hidden;padding:54px 0;background:#eef0e8;color:var(--ew-text);border-top:1px solid var(--ew-line)}.access-band p:not(.eyebrow){color:var(--ew-text)}.access-band .eyebrow{color:var(--ew-signal-ink)}.access-band canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.28}.access-band-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:50px;align-items:center}.access-band h2{color:var(--ew-ink);font-size:clamp(1.75rem,3vw,2.7rem);margin-bottom:10px}.access-band p{max-width:680px;margin:0;color:var(--ew-muted)}

.editorial-header,.article-header{padding:56px 0 44px;border-bottom:1px solid var(--ew-line)}.narrow,.article-width{width:min(calc(100% - 40px),var(--ew-container));margin-inline:auto}.narrow>*,.article-width>*{max-width:78ch}.editorial-header h1,.article-header h1{font-size:clamp(2.1rem,3.4vw,3.1rem);max-width:20ch}.editorial-header>div>p:not(.eyebrow),.article-dek{font-size:1.16rem;color:var(--ew-muted);max-width:760px}.editorial-section{padding:94px 0}.editorial-section.alternate{background:#eceee8}.editorial-grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:80px}.editorial-grid>div>p{color:var(--ew-muted)}.principle-list,.planned-role-list{display:grid;gap:14px}.principle-list article,.planned-role-list article{padding:26px 0;border-top:1px solid var(--ew-line)}.principle-list p,.planned-role-list p{margin:0;color:var(--ew-muted)}
.news-index{padding:94px 0}.news-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ew-line)}.news-list article{min-height:280px;padding:30px 34px 34px 0;border-bottom:1px solid var(--ew-line)}.news-list article:nth-child(even){padding-left:34px;border-left:1px solid var(--ew-line)}.news-list time,.article-header time{font-family:var(--ew-mono);font-size:.74rem;color:var(--ew-muted)}.news-list h3{font-size:1.65rem;margin:18px 0 12px}.news-list p{color:var(--ew-muted)}
.article-header{padding-bottom:64px}.article-header h1{max-width:880px}.article-header time{display:block;margin-top:28px}.article-body{padding:72px 0 96px}.article-body>p,.article-body>h2{max-width:760px}.article-body>p{font-size:1.08rem;line-height:1.82}.article-body>h2{margin-top:54px;font-size:2rem}.source-note{margin-top:50px;padding-top:20px;border-top:1px solid var(--ew-line);font-size:.84rem!important;color:var(--ew-muted)}.source-note a{text-decoration-thickness:1px;text-underline-offset:3px}
.footer-grid{grid-template-columns:1.8fr 1fr 1fr .8fr .8fr}

@media(max-width:1050px){
  .product-hero-grid,.partner-square{grid-template-columns:1fr;gap:42px}.product-hero-grid>div:last-child{max-width:720px}.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-grid{max-width:680px}.footer-grid{grid-template-columns:2fr 1fr 1fr}.footer-grid>div:nth-child(4),.footer-grid>div:nth-child(5){grid-column:auto}
}
@media(max-width:800px){
  .nav-link,.disclosure-button{width:100%;height:42px}.nav-disclosure{height:auto;display:block}.disclosure-menu{position:static;width:auto;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;margin:4px 0 8px;padding:6px}.nav-disclosure.is-open .disclosure-menu{display:grid}.nav-disclosure:not(.is-open):hover .disclosure-menu,.nav-disclosure:not(.is-open):focus-within .disclosure-menu{display:none}
  .hero{min-height:500px}.story-heading{grid-template-columns:1fr}.story-heading .learn-link{grid-column:1;grid-row:auto;justify-self:start}.model-flow{grid-template-columns:1fr}.model-flow>i,.capacity-map>i,.system-responsibility>i{width:1px;height:22px;margin:auto}.flow-group{grid-template-columns:repeat(3,1fr)}.flow-apps{grid-template-columns:repeat(3,1fr)}
  .home-model-browser .model-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-header{padding:64px 0}.capacity-map,.system-responsibility{grid-template-columns:1fr;min-height:0}.capacity-map>div:first-child{grid-template-columns:repeat(2,1fr)}.capacity-map>div:last-child{grid-template-columns:repeat(3,1fr)}.system-responsibility>div{grid-template-columns:repeat(2,1fr)!important}
  .editorial-grid{grid-template-columns:1fr;gap:32px}.news-list{grid-template-columns:1fr}.news-list article,.news-list article:nth-child(even){min-height:0;padding:28px 0;border-left:0}.access-band-inner{grid-template-columns:1fr;gap:26px}.access-band-inner .button{justify-self:start}.partner-grid{padding:30px}.partner-grid>b{width:126px;height:126px}.phase-timeline{grid-template-columns:1fr}.phase-timeline article{min-height:0}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand,.footer-base{grid-column:1/-1}
}
@media(max-width:560px){
  .hero{min-height:500px}.hero-content h1{font-size:2.65rem}.home-model-browser .model-card-grid,.model-card-grid,.capability-grid{grid-template-columns:1fr}.model-card-grid .flow-group,.flow-apps{grid-template-columns:1fr 1fr}.flow-group span:last-child{grid-column:1/-1}.product-header h1{font-size:2.45rem}.lifecycle-timeline{grid-template-columns:1fr}.lifecycle-timeline i{width:1px;height:16px;margin:auto}.partner-grid{padding:16px;gap:8px}.partner-grid>span{font-size:.74rem;padding:10px}.partner-grid>b{width:104px;height:104px;font-size:.76rem}.editorial-header,.article-header{padding:62px 0 54px}.editorial-header h1,.article-header h1{font-size:2.55rem}.editorial-section,.news-index{padding:68px 0}.article-body{padding:54px 0 72px}.article-body>h2{font-size:1.75rem}.footer-grid{grid-template-columns:1fr}.footer-brand,.footer-base,.footer-grid>div:nth-child(4),.footer-grid>div:nth-child(5){grid-column:1}
}
@media(prefers-reduced-motion:reduce){.disclosure-button span{transition:none}}
@media(max-width:560px){.model-card-grid }
@media(max-width:560px){.hero{height:500px;min-height:500px}.hero-content{padding-block:32px}.hero-content h1{font-size:2.25rem;line-height:1.03;margin-bottom:14px}.hero-content>p:not(.eyebrow){margin-bottom:18px;line-height:1.55}.access-band{padding:30px 0}.access-band-inner{gap:18px}.access-band h2{font-size:1.55rem;line-height:1.1;margin-bottom:8px}.access-band p{font-size:.88rem;line-height:1.5}.access-band .button{min-height:42px}}


/* ── W72e design pass, Claude 2026-09-04 (Alan round-3 comments) ───────────── */

/* T3 — the product line name is the chapter title; the claim is a sub-line. No numbers. */
.product-story .story-heading .line-title{font-size:clamp(2rem,2.8vw,2.7rem);line-height:1.06;letter-spacing:-.025em;margin:0 0 10px}
.product-story .story-heading .line-claim{font-size:1.16rem;line-height:1.4;font-weight:600;color:var(--ew-ink);margin:0 0 12px;max-width:24ch}
.product-story .story-heading>p:not(.line-claim):not(.eyebrow){color:var(--ew-muted)}

/* T2 — quiet lead-in, not a fake summary */
.service-intro{padding:76px 0 8px}
.service-intro h2{font-size:clamp(1.5rem,2vw,1.95rem);letter-spacing:-.02em;margin:0 0 8px}
.service-intro p{color:var(--ew-muted);max-width:46ch}

/* T1 — trusted network: one row, logos only, marquee */
.logo-marquee{margin-top:34px;overflow:hidden;position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.logo-track{display:flex;align-items:center;gap:76px;width:max-content;animation:ew-marquee 46s linear infinite}
.logo-marquee:hover .logo-track{animation-play-state:paused}
.logo-track-dup{display:flex;align-items:center;gap:76px}
.logo-track span{flex:0 0 auto;display:grid;place-items:center;height:46px}
.logo-track img{height:34px;width:auto;max-width:150px;object-fit:contain;filter:grayscale(1);opacity:.72;transition:opacity .2s}
.logo-marquee:hover img{opacity:.9}
.logo-placeholder i{display:grid;place-items:center;height:38px;min-width:66px;padding:0 14px;border:1px dashed var(--ew-line);border-radius:var(--r-sm);
  font-family:var(--ew-mono);font-style:normal;font-size:.82rem;letter-spacing:.06em;color:var(--ew-muted);background:#fff}
@keyframes ew-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* T5–T7 — model card: brand header, model rows, capability pills, no filler, no dead space */
.model-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.brand-model-card{display:flex;flex-direction:column;gap:14px;height:auto;min-height:0;padding:20px;
  border:1px solid var(--ew-line);border-radius:var(--r-md);background:#fff;transition:border-color .2s,box-shadow .2s}
.brand-model-card:hover{border-color:#9da39c;box-shadow:0 2px 10px rgba(21,24,29,.05);background:#fff}
.brand-model-card header{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--ew-divider)}
.brand-model-card header img{width:22px;height:22px;object-fit:contain;filter:grayscale(1)}
.brand-model-card header span{font-size:.82rem;font-weight:700;color:var(--ew-ink);letter-spacing:-.01em}
.brand-model-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.brand-model-card li{display:flex;flex-direction:column;gap:7px}
.brand-model-card li b{font-size:.95rem;font-weight:700;color:var(--ew-ink);line-height:1.25}
.pill-row{display:flex;flex-wrap:wrap;gap:5px}
.pill-row em{font-style:normal;font-family:var(--ew-mono);font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;
  padding:3px 8px;border-radius:var(--r-pill);background:var(--ew-signal-tint);color:var(--ew-signal-ink);white-space:nowrap}

/* T2/T9 — the partner section carries four pillars instead of an empty diagram */
.partner-section .partner-copy{max-width:34ch}
.partner-section .partner-copy h2{font-size:clamp(1.9rem,2.6vw,2.6rem);line-height:1.1}
.pillar-row{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;
  border-top:1px solid var(--ew-on-dark-line)}
.pillar-row li{padding:22px 26px 4px 0;display:flex;flex-direction:column;gap:8px;border-right:1px solid var(--ew-on-dark-line)}
.pillar-row li:last-child{border-right:0}
.pillar-row li+li{padding-left:26px}
.pillar-row strong{font-size:1rem;color:#fff;line-height:1.3}
.pillar-row span{font-size:.88rem;color:var(--ew-on-dark-muted);line-height:1.5}

/* T11 — access band: a centred block, one action, room to breathe */
.access-band{padding:96px 0}
.access-band-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;grid-template-columns:none}
.access-band .eyebrow{color:var(--ew-signal-ink);margin:0 0 14px}
.access-band h2{font-size:clamp(2rem,3.2vw,3rem);line-height:1.06;letter-spacing:-.028em;margin:0;max-width:18ch}
.access-band .access-lede{margin:16px 0 0;max-width:52ch;color:var(--ew-text);font-size:1.02rem;line-height:1.6}
.access-band .button{margin-top:30px}
.access-band canvas{opacity:.5}

/* T12 — dropdown arrow sits on the text baseline; the underline covers the whole trigger */
.nav-link-toggle,.dropdown-toggle{display:inline-flex;align-items:center;gap:6px;line-height:1}
.nav-link-toggle svg,.dropdown-toggle svg,.nav-caret{width:11px;height:11px;flex:0 0 auto;transform:translateY(1px);transition:transform .18s}
[aria-expanded="true"] .nav-caret{transform:translateY(1px) rotate(180deg)}

@media(max-width:1050px){
  .model-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pillar-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pillar-row li:nth-child(2){border-right:0}
  .pillar-row li:nth-child(3),.pillar-row li:nth-child(4){border-top:1px solid var(--ew-on-dark-line)}
}
@media(max-width:640px){
  .model-card-grid{grid-template-columns:1fr}
  .pillar-row{grid-template-columns:1fr}
  .pillar-row li{border-right:0;padding-left:0!important;border-top:1px solid var(--ew-on-dark-line)}
  .logo-track,.logo-track-dup{gap:44px}
  .access-band{padding:64px 0}
}
@media(prefers-reduced-motion:reduce){
  .logo-track{animation:none}
  .logo-marquee{overflow-x:auto}
}


/* ══ Edgeweigh design layer — Claude 2026-09-04 (Alan round-4: 質感 / 密度 / 用色) ══
   Audit found: 22 hardcoded hex, 11 radius values, 10 unscaled shadows, ad-hoc surfaces.
   The thinness came from having one surface and one text colour. This layer adds a
   surface ladder, an elevation ladder, hairline structure and decisive signal colour. */

:root{
  /* surface ladder: page → raised → card → inset → dark */
  --s-page:var(--ew-paper);
  --s-raised:#F0F1EC;
  --s-card:var(--ew-white);
  --s-inset:#F7F8F4;
  --s-dark:var(--ew-graphite);
  --s-dark-raised:#1C2026;
  /* elevation */
  --e-0:none;
  --e-1:0 1px 2px rgba(21,24,29,.04);
  --e-2:0 2px 6px rgba(21,24,29,.05),0 1px 2px rgba(21,24,29,.04);
  --e-3:0 10px 30px -12px rgba(21,24,29,.16),0 2px 6px rgba(21,24,29,.05);
  /* radius scale */
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-xl:20px; --r-pill:999px;
  /* rules */
  --rule:1px solid var(--ew-line);
  --rule-dark:1px solid rgba(255,255,255,.13);
}

/* ── section rhythm: surfaces alternate so the page has a pulse ───────────── */
.surface-page{background:var(--s-page)}
.surface-raised{background:var(--s-raised)}
.surface-card{background:var(--s-card)}
.surface-dark{background:var(--s-dark);color:var(--ew-on-dark)}

/* ── structure marks: hairlines and mono labels carry the engineering feel ── */
.rule-top{border-top:var(--rule)}
.section-mark{display:flex;align-items:baseline;gap:14px;padding-top:16px;border-top:2px solid var(--ew-ink);margin-bottom:26px}
.section-mark .mark-index{font-family:var(--ew-mono);font-size:.72rem;letter-spacing:.1em;color:var(--ew-signal-ink)}
.section-mark .mark-label{font-family:var(--ew-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ew-muted)}

/* ── F2: chapter title outranks the line titles under it ─────────────────── */
.service-intro{padding:92px 0 12px}
.service-intro .container{border-top:2px solid var(--ew-ink);padding-top:26px}
.service-intro h2{font-size:clamp(2.3rem,3.4vw,3.4rem);line-height:1.04;letter-spacing:-.03em;margin:0 0 14px;max-width:16ch}
.service-intro p{color:var(--ew-muted);max-width:52ch;font-size:1.05rem}
.product-story .line-title{font-size:clamp(1.55rem,2.05vw,2.05rem);letter-spacing:-.02em;margin:0 0 10px}
.product-story .line-claim{font-size:1.06rem;max-width:30ch;padding-left:18px}

/* ── F3: four specifics under every product line ─────────────────────────── */
.line-specs{list-style:none;margin:34px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:var(--rule);border-left:var(--rule);background:var(--s-card);border-radius:var(--r-md);overflow:hidden}
.line-specs li{padding:20px 20px 22px;border-right:var(--rule);border-bottom:var(--rule);display:flex;flex-direction:column;gap:8px;
  background:var(--s-card);transition:background .2s}
.line-specs li:hover{background:var(--s-inset)}
.line-specs .spec-key{font-family:var(--ew-mono);font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ew-signal-ink)}
.line-specs b{font-size:.98rem;color:var(--ew-ink);line-height:1.28;font-weight:700}
.line-specs span{font-size:.86rem;color:var(--ew-muted);line-height:1.5}
.surface-dark .line-specs{background:var(--s-dark-raised);border-color:rgba(255,255,255,.13)}
.surface-dark .line-specs li{background:var(--s-dark-raised);border-color:rgba(255,255,255,.13)}
.surface-dark .line-specs b{color:#fff}.surface-dark .line-specs span{color:var(--ew-on-dark-muted)}

/* ── F5: model rail — one row, scrolls sideways, no dead height ──────────── */
.model-rail{position:relative;margin-top:20px}
.model-rail-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 18px;
  scrollbar-width:thin;scrollbar-color:var(--ew-line) transparent}
.model-rail-track::-webkit-scrollbar{height:6px}
.model-rail-track::-webkit-scrollbar-thumb{background:var(--ew-line);border-radius:var(--r-pill)}
.model-rail-track .brand-model-card{flex:0 0 268px;scroll-snap-align:start;height:auto}
.rail-nav{display:flex;gap:8px}
.rail-nav button{width:34px;height:34px;border-radius:var(--r-pill);border:var(--rule);background:var(--s-card);color:var(--ew-ink);
  display:grid;place-items:center;cursor:pointer;transition:border-color .2s,background .2s}
.rail-nav button:hover{border-color:var(--ew-ink);background:var(--s-inset)}
.rail-nav button[disabled]{opacity:.32;cursor:default}
.rail-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* ── model card: content-height, layered, tabular numerals ───────────────── */
.brand-model-card{background:var(--s-card);border-radius:var(--r-md);box-shadow:var(--e-1)}
.brand-model-card:hover{box-shadow:var(--e-2)}
.brand-model-card li b{font-variant-numeric:tabular-nums}

/* ── F1 + F9: signal takes the primary action on light surfaces ──────────── */
.button-dark{background:var(--ew-signal);color:var(--ew-graphite);border:1px solid transparent}
.button-dark:hover{background:#c8ea45}
.surface-dark .button-dark,.dark-section .button-dark{background:var(--ew-signal);color:var(--ew-graphite)}

/* ── F8: partner block — compact, both columns carry content ─────────────── */
.partner-section{padding:84px 0}
.partner-section .container{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:start}
.partner-section .partner-copy{max-width:none}
.partner-section .partner-copy h2{font-size:clamp(1.9rem,2.5vw,2.5rem);line-height:1.08;max-width:16ch}
.pillar-row{margin:0;grid-template-columns:1fr;border-top:0}
.pillar-row li{padding:18px 0;border-right:0;border-top:var(--rule-dark);gap:6px}
.pillar-row li:first-child{border-top:0;padding-top:0}
.pillar-row li+li{padding-left:0}

/* ── F12: two-column text blocks share a baseline ───────────────────────── */
.editorial-grid,.split-grid{align-items:start}
.editorial-grid>*:first-child,.split-grid>*:first-child{padding-top:0}
.split-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start;
  border-top:2px solid var(--ew-ink);padding-top:26px}
.split-grid h2{margin-top:0;font-size:clamp(1.7rem,2.3vw,2.3rem);line-height:1.1;letter-spacing:-.025em}
.split-grid .split-body>p:first-child{margin-top:0}

/* ── stat: big tabular figures give an infrastructure page its weight ────── */
.stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:var(--rule);margin-top:34px}
.stat-strip div{padding:20px 22px 0 0;border-right:var(--rule)}
.stat-strip div:last-child{border-right:0}
.stat-strip b{display:block;font-size:1.9rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ew-ink);line-height:1.05}
.stat-strip span{display:block;margin-top:6px;font-family:var(--ew-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ew-muted)}

@media(max-width:1050px){
  .line-specs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .partner-section .container,.split-grid{grid-template-columns:1fr;gap:32px}
  .stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .line-specs{grid-template-columns:1fr}
  .stat-strip{grid-template-columns:1fr}
  .stat-strip div{border-right:0;border-bottom:var(--rule);padding-bottom:16px}
  .service-intro{padding:64px 0 8px}
}
@media(prefers-reduced-motion:reduce){.model-rail-track{scroll-behavior:auto}}

/* the spec grid spans the whole section, not the text column */
.split-layout>.line-specs,.container.split-layout>.line-specs{grid-column:1/-1}
.product-story .container{align-items:start}

/* ── F1: colour actually participates ─────────────────────────────────────
   Signal marks structure (rules, keys, the current tab, the primary action);
   surfaces alternate page / raised so sections separate without extra boxes. */
.product-story .line-title{position:relative;padding-left:18px}
.product-story .line-title:before{content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:4px;
  border-radius:0;background:var(--ew-signal)}
.product-story.alternate,.product-story.surface-raised{background:var(--s-raised)}
.product-story.alternate .line-specs li,.product-story.surface-raised .line-specs li{background:var(--s-card)}
.product-story.alternate .line-specs li:hover,.product-story.surface-raised .line-specs li:hover{background:var(--s-inset)}
.service-intro .container{border-top-color:var(--ew-signal-ink)}
.trusted-section{border-bottom:var(--rule)}
.modality-tabs button.is-active{background:var(--ew-graphite);color:var(--ew-signal)}
.learn-link{color:var(--ew-signal-ink);font-weight:700}
.learn-link:hover{text-decoration:underline;text-underline-offset:4px}
.tier-card strong{color:var(--ew-ink);font-variant-numeric:tabular-nums}
.tier-card span{color:var(--ew-signal-ink);font-family:var(--ew-mono);font-size:.66rem;letter-spacing:.08em}
/* the engineering section is single-column now that its weak box is gone */
.product-story .container:not(.split-layout)>.story-heading{max-width:none}
.product-story .container:not(.split-layout)>.story-heading .line-claim{max-width:34ch}

/* ── decision matrix: a diagram only earns its place when it carries rows ──
   Replaces the empty box-and-arrow figures. Reads as a table, behaves as a
   figure: signal on the left, what it points to, and why. */
.decision-matrix{margin-top:28px;border:var(--rule);border-radius:var(--r-lg);overflow:hidden;background:var(--s-card);box-shadow:var(--e-1)}
.decision-matrix .dm-head,.decision-matrix .dm-row{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.75fr) minmax(0,1.4fr);gap:0}
.decision-matrix .dm-head{background:var(--ew-graphite)}
.decision-matrix .dm-head span{padding:12px 20px;font-family:var(--ew-mono);font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ew-signal)}
.decision-matrix .dm-head span+span{border-left:1px solid rgba(255,255,255,.14)}
.decision-matrix .dm-row{border-top:var(--rule)}
.decision-matrix .dm-row>*{padding:18px 20px;font-size:.92rem;line-height:1.5;color:var(--ew-text)}
.decision-matrix .dm-row>*+*{border-left:var(--rule)}
.decision-matrix .dm-row b{color:var(--ew-ink);font-weight:700}
.decision-matrix .dm-row .dm-target{font-weight:700;color:var(--ew-ink);display:flex;align-items:center;gap:8px}
.decision-matrix .dm-row .dm-target:before{content:"";width:6px;height:6px;border-radius:0;background:var(--ew-signal);flex:0 0 auto}
.decision-matrix .dm-row:nth-child(even){background:var(--s-inset)}
@media(max-width:820px){
  .decision-matrix .dm-head{display:none}
  .decision-matrix .dm-row{grid-template-columns:1fr}
  .decision-matrix .dm-row>*+*{border-left:0;border-top:var(--rule);padding-top:12px}
}

/* ── responsibility split: two owners, one row per stage ─────────────────── */
.responsibility{margin-top:28px;border-top:2px solid var(--ew-ink)}
.responsibility .rs-row{display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,1fr) minmax(0,1fr);gap:0;border-bottom:var(--rule)}
.responsibility .rs-row>*{padding:20px 22px 20px 0}
.responsibility .rs-row>*+*{padding-left:22px;border-left:var(--rule)}
.responsibility .rs-stage{font-size:1.05rem;font-weight:700;color:var(--ew-ink)}
.responsibility .rs-key{display:block;font-family:var(--ew-mono);font-size:.64rem;letter-spacing:.09em;text-transform:uppercase;margin-bottom:8px}
.responsibility .rs-ours .rs-key{color:var(--ew-signal-ink)}
.responsibility .rs-yours .rs-key{color:var(--ew-muted)}
.responsibility p{margin:0;font-size:.92rem;line-height:1.55;color:var(--ew-text)}
@media(max-width:820px){
  .responsibility .rs-row{grid-template-columns:1fr}
  .responsibility .rs-row>*+*{padding-left:0;border-left:0;border-top:var(--rule)}
}

/* ── protocol comparison: two modes over one base ───────────────────────── */
.mode-compare{margin-top:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.mode-compare article{border:var(--rule);border-radius:var(--r-lg);background:var(--s-card);padding:24px 24px 22px;box-shadow:var(--e-1);
  display:flex;flex-direction:column;gap:12px}
.mode-compare article h3{margin:0;font-size:1.15rem;letter-spacing:-.015em}
.mode-compare .mode-key{font-family:var(--ew-mono);font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ew-signal-ink)}
.mode-compare ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.mode-compare li{position:relative;padding-left:18px;font-size:.92rem;line-height:1.5;color:var(--ew-text)}
.mode-compare li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:1px;background:var(--ew-signal-ink)}
.mode-base{margin-top:14px;padding:16px 20px;border:var(--rule);border-radius:var(--r-md);background:var(--s-inset);
  font-size:.9rem;color:var(--ew-muted);grid-column:1/-1}
.mode-base b{color:var(--ew-ink)}
@media(max-width:820px){.mode-compare{grid-template-columns:1fr}}

/* section rhythm on inner pages: alternate without touching markup */
.content-section:nth-of-type(even),.editorial-section:nth-of-type(even),.docs-section:nth-of-type(even){background:var(--s-raised)}
.content-section,.editorial-section,.docs-section{background:var(--s-page)}
.content-section:nth-of-type(even),.editorial-section:nth-of-type(even){border-block:var(--rule)}
/* product page headers get the same chapter rule as the homepage sections */
.product-header .eyebrow,.editorial-header .eyebrow,.article-header .eyebrow{color:var(--ew-signal-ink)}
.content-section h2,.editorial-section h2{letter-spacing:-.025em}

.audience-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.audience-strip{grid-template-columns:1fr}}

/* ══ Round 5 (G1–G10) ═══════════════════════════════════════════════════════
   G2 moved the section accent under the title so every left edge in a product
   section starts at the same x. Everything below assumes that alignment. */

/* ── G2 · section accent sits below the title, nothing is indented ───────── */
.product-story .line-title{padding-left:0;margin:0 0 22px}
.product-story .line-title:before{top:auto;bottom:-11px;left:0;width:46px;height:3px;border-radius:0}
.product-story .line-claim{padding-left:0}
.product-story .story-heading .line-title{margin:0 0 24px}

/* ── G1 · the four lines are a way in, not a sentence ────────────────────── */
.service-intro{padding:96px 0 0}
.line-index{list-style:none;margin:36px 0 0;padding:0;display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:var(--rule);border-radius:var(--r-lg);
  overflow:hidden;background:var(--s-card);box-shadow:var(--e-1)}
.line-index li{border-right:var(--rule)}
.line-index li:last-child{border-right:0}
.line-index a{display:flex;flex-direction:column;gap:8px;height:100%;padding:24px 22px 22px;
  text-decoration:none;position:relative;transition:background-color 200ms ease,transform 200ms ease}
.line-index a:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--ew-signal);
  transform:scaleX(0);transform-origin:left;transition:transform 260ms ease}
.line-index a:hover{background:var(--s-inset)}
.line-index a:hover:before{transform:scaleX(1)}
.line-index strong{font-size:1.06rem;letter-spacing:-.015em;color:var(--ew-ink);line-height:1.2}
.line-index span{font-size:.86rem;color:var(--ew-muted);line-height:1.5;flex:1}
.line-index em{font-style:normal;font-family:var(--ew-mono);font-size:.68rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ew-signal-ink);display:flex;align-items:center;gap:7px}
.line-index em:after{content:"→";transition:transform 200ms ease}
.line-index a:hover em:after{transform:translateX(4px)}

/* ── G4 · inside a section things sit close; between sections they part ──── */
.product-story{padding:112px 0;border-top:var(--rule);scroll-margin-top:78px}
.product-story .line-specs{margin-top:26px}
.product-story .split-layout{column-gap:64px;row-gap:0}
.product-story .split-layout>.line-specs{margin-top:40px}
.product-story .story-copy>:last-child,.product-story .story-heading>:last-child{margin-bottom:0}
.product-story .learn-link{display:inline-flex;margin-top:18px}

/* ── G6 · Agent Engineering carries the same weight as the other three ───── */
.split-layout.copy-first{grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr)}
.responsibility-compact{border:var(--rule);border-radius:var(--r-lg);overflow:hidden;
  background:var(--s-card);box-shadow:var(--e-1)}
.responsibility-compact .rc-head{display:grid;grid-template-columns:1fr 1fr;background:var(--ew-graphite)}
.responsibility-compact .rc-head span{padding:11px 16px;font-family:var(--ew-mono);font-size:.64rem;
  letter-spacing:.09em;text-transform:uppercase;color:var(--ew-signal)}
.responsibility-compact .rc-head span+span{border-left:1px solid rgba(255,255,255,.14)}
.responsibility-compact .rc-row{display:grid;grid-template-columns:1fr 1fr;border-top:var(--rule)}
.responsibility-compact .rc-row>*{padding:15px 16px}
.responsibility-compact .rc-row>*+*{border-left:var(--rule)}
.responsibility-compact .rc-stage{font-weight:800;font-size:.9rem;color:var(--ew-ink);background:var(--s-inset)}
.responsibility-compact p{margin:0;font-size:.85rem;line-height:1.5;color:var(--ew-muted)}
.responsibility-compact .rc-row:hover>*{background:var(--s-inset)}
.responsibility-compact .rc-row:hover .rc-stage{background:var(--ew-signal-tint)}

/* ── G5 · sandbox boundary: shorter, denser, and the work visibly moves ──── */
.flow-diagram{border:var(--rule);border-radius:var(--r-lg);background:var(--s-card);
  box-shadow:var(--e-1);padding:0;overflow:hidden;min-height:0}
.flow-diagram .fd-head{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 18px;border-bottom:var(--rule);background:var(--s-inset)}
.flow-diagram .fd-head span{font-family:var(--ew-mono);font-size:.64rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ew-muted)}
.flow-diagram .fd-head b{font-family:var(--ew-mono);font-size:.64rem;letter-spacing:.08em;
  color:var(--ew-signal-ink);font-weight:700}
.flow-body{display:grid;grid-template-columns:auto 84px minmax(0,1fr);align-items:center;padding:22px 20px}
.flow-source{display:flex;flex-direction:column;gap:6px;padding:14px 15px;border:var(--rule);
  border-radius:var(--r-md);background:var(--s-inset);min-width:104px}
.flow-source b{font-size:.88rem;color:var(--ew-ink);line-height:1.2}
.flow-source span{font-family:var(--ew-mono);font-size:.62rem;letter-spacing:.06em;color:var(--ew-muted)}
.flow-wire{position:relative;height:2px;background:var(--ew-line);margin:0 6px}
.flow-wire i{position:absolute;top:-2px;left:0;width:6px;height:6px;border-radius:50%;
  background:var(--ew-signal);box-shadow:0 0 0 3px var(--ew-signal-tint);opacity:0}
.flow-boundary{position:relative;border:2px solid var(--ew-graphite);border-radius:var(--r-md);
  padding:20px 16px 16px}
.flow-boundary>.fb-label{position:absolute;top:-10px;left:14px;padding:0 8px;background:var(--s-card);
  font-family:var(--ew-mono);font-size:.64rem;letter-spacing:.06em;color:var(--ew-ink)}
.flow-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.flow-tools b{display:flex;flex-direction:column;gap:4px;padding:11px 10px;border-radius:var(--r-sm);
  background:var(--s-inset);border:var(--rule);font-size:.82rem;color:var(--ew-ink);position:relative}
.flow-tools b small{font-family:var(--ew-mono);font-size:.6rem;letter-spacing:.05em;color:var(--ew-muted);font-weight:400}
.flow-tools b:after{content:"";position:absolute;top:9px;right:9px;width:5px;height:5px;border-radius:50%;
  background:var(--ew-line)}
.flow-state{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:11px;border-top:1px dashed var(--ew-line)}
.flow-state span{font-family:var(--ew-mono);font-size:.62rem;letter-spacing:.06em;color:var(--ew-muted)}
.flow-state b{margin-left:auto;font-size:.78rem;color:var(--ew-ink)}
@keyframes fd-send{0%{opacity:0;transform:translateX(0)}
  12%{opacity:1}70%{opacity:1;transform:translateX(84px)}82%{opacity:0;transform:translateX(84px)}
  100%{opacity:0;transform:translateX(84px)}}
@keyframes fd-land{0%,58%{background:var(--ew-line)}66%,86%{background:var(--ew-signal)}100%{background:var(--ew-line)}}
.flow-diagram.is-live .flow-wire i{animation:fd-send 3s cubic-bezier(.45,0,.25,1) infinite}
.flow-diagram.is-live .flow-wire i:nth-child(2){animation-delay:1s}
.flow-diagram.is-live .flow-wire i:nth-child(3){animation-delay:2s}
.flow-diagram.is-live .flow-tools b:nth-child(1):after{animation:fd-land 9s linear infinite}
.flow-diagram.is-live .flow-tools b:nth-child(2):after{animation:fd-land 9s linear infinite 3s}
.flow-diagram.is-live .flow-tools b:nth-child(3):after{animation:fd-land 9s linear infinite 6s}
@media (prefers-reduced-motion:reduce){.flow-diagram.is-live *{animation:none!important}
  .flow-diagram.is-live .flow-wire i{opacity:1}}

/* ── G8 · a short column beside a long one holds its place instead of hanging */
.editorial-section .split-grid{column-gap:0}
.editorial-section .split-grid>*:first-child{position:sticky;top:96px;padding-right:56px}
.editorial-section .split-grid>*:last-child{padding-left:56px;border-left:var(--rule)}
.principle-list article+article{margin-top:0}
.principle-list{display:grid;gap:0}
.principle-list article{padding:20px 0;border-top:var(--rule)}
.principle-list article:first-child{padding-top:0;border-top:0}
.principle-list article:last-child{padding-bottom:0}
.principle-list h3{margin:0 0 6px;font-size:1rem;letter-spacing:-.01em}
.principle-list h3:before{content:"";display:inline-block;width:14px;height:2px;background:var(--ew-signal);
  vertical-align:middle;margin-right:9px}
.principle-list p{margin:0;color:var(--ew-muted);font-size:.92rem;line-height:1.6}

/* ── G10 · the network logos read at a distance ──────────────────────────── */
.logo-track span{height:56px}
.logo-track img{height:46px;max-width:186px;opacity:.68}
.logo-placeholder i{height:46px;min-width:82px;font-size:.9rem}
.logo-track{gap:82px}.logo-track-dup{gap:82px}

/* ── G3-adjacent · hover must not impersonate the selected tab ───────────── */
.modality-tabs button:hover:not(.is-active),.view-switch button:hover:not(.is-active){
  background:var(--s-inset);border-color:var(--ew-ink);color:var(--ew-ink)}
.modality-tabs button.is-active{background:var(--ew-graphite);border-color:var(--ew-graphite);color:var(--ew-signal)}

/* ── G9 · the detail layer ───────────────────────────────────────────────── */
:where(a,button,[tabindex]):focus-visible{outline:2px solid var(--ew-signal-ink);outline-offset:3px;border-radius:0}
.line-specs b,.tier-card strong,.stat-strip strong{font-variant-numeric:tabular-nums}
.line-specs li{position:relative}
.line-specs li:before{content:"";position:absolute;top:0;left:0;width:9px;height:1px;background:var(--ew-signal)}
.brand-model-card,.tier-card{transition:transform 200ms ease,box-shadow 200ms ease,border-color 200ms ease}
.brand-model-card:hover,.tier-card:hover{transform:translateY(-2px);box-shadow:var(--e-2)}
.editorial-header .eyebrow:after{content:"";display:block;width:34px;height:3px;background:var(--ew-signal);margin-top:12px}
.section-heading .eyebrow,.partner-copy .eyebrow{display:inline-flex;align-items:center;gap:9px}
.section-heading .eyebrow:before,.partner-copy .eyebrow:before{content:"";width:16px;height:2px;background:var(--ew-signal)}

@media (max-width:900px){
  .line-index{grid-template-columns:repeat(2,minmax(0,1fr))}
  .line-index li:nth-child(2n){border-right:0}
  .line-index li:nth-child(-n+2){border-bottom:var(--rule)}
  .responsibility-compact .rc-head{display:none}
  .responsibility-compact .rc-row{grid-template-columns:1fr}
  .responsibility-compact .rc-row>*+*{border-left:0;border-top:var(--rule)}
  .flow-body{grid-template-columns:1fr;gap:14px}
  .flow-wire{height:34px;width:2px;margin:0 auto}
  .flow-wire i{left:-2px;top:0}
  @keyframes fd-send{0%{opacity:0;transform:translateY(0)}12%{opacity:1}
    70%{opacity:1;transform:translateY(34px)}82%,100%{opacity:0;transform:translateY(34px)}}
  .editorial-section .split-grid>*:first-child{position:static;padding-right:0}
  .editorial-section .split-grid>*:last-child{padding-left:0;border-left:0}
}
@media (max-width:620px){
  .line-index{grid-template-columns:1fr}
  .line-index li{border-right:0;border-bottom:var(--rule)}
  .line-index li:last-child{border-bottom:0}
}

/* alignment follow-ups the layout audit caught in the round-5 components */
.rail-head{padding:0 4px}                      /* meet the cards, which are inset 4px so their hover shadow is not clipped */
.flow-diagram .fd-head{padding:12px 20px}      /* meet .flow-body's 20px content edge */

/* a long line of type is hard to return from: hold the right column to a readable measure */
.editorial-section .split-grid>*:last-child p{max-width:68ch}
/* a brand with one reviewed model should not render as a mostly empty card */
.model-rail-track{align-items:flex-start}
/* a modality with no current candidate says so rather than leaving a blank rail */
.rail-empty{margin:18px 4px 6px;padding:18px 20px;border:1px dashed var(--ew-line);border-radius:var(--r-md);
  background:var(--s-inset);color:var(--ew-muted);font-size:.9rem}

/* the closing band was taking nearly half the fold on every page; it is a sign-off, not a section */
.access-band{padding:60px 0}
.access-band .eyebrow{margin:0 0 10px}
.access-band h2{font-size:clamp(1.9rem,2.7vw,2.5rem)}
.access-band .access-lede{margin:14px 0 0;max-width:58ch;font-size:.98rem}
.access-band .button{margin-top:24px}
@media(max-width:900px){.access-band{padding:48px 0}}

/* the copy-first modifier has to collapse with every other split at mobile */
@media (max-width:900px){
  .split-layout.copy-first{grid-template-columns:minmax(0,1fr)}
}
/* keep the small-screen closing band as small as it already was */
@media (max-width:560px){
  .access-band{padding:34px 0}
  .access-band h2{font-size:1.55rem;line-height:1.1}
  .access-band .access-lede{font-size:.9rem;line-height:1.5;margin-top:12px}
  .access-band .button{margin-top:20px}
}
/* an 18ch measure pushed the longer closing headings onto a third line */
.access-band h2{max-width:24ch}

/* H3 — the disclosure chevron was U+2304, a glyph whose ink sits below the baseline, so
   centring its line box left the mark low. An inline SVG puts the geometry under our control. */
.disclosure-button span{display:inline-flex;align-items:center;justify-content:center;font-size:inherit}
.disclosure-button svg{display:block}

/* H1 — the second copy was being selected by `.logo-track span` and rendered as a vertical
   grid, so there was effectively no repeat and the loop jumped. Two identical groups, each
   carrying the trailing gap as padding, make -50% land exactly one group along. */
.logo-track{gap:0;animation-duration:60s}
.logo-track>.logo-group{display:flex;align-items:center;gap:82px;padding-right:82px;flex:0 0 auto;height:auto}
.logo-group>span{flex:0 0 auto;display:grid;place-items:center;height:56px}

/* ── H4 · Request access is a heading, a sentence, and a form ─────────────
   The dark panel beside the form repeated what the form already asks for, and the
   closing band pointed back at the page it was on. Both are gone; the form now
   starts inside the first screen. */
.access-header{padding:56px 0 0;border-bottom:0}
.access-intro{max-width:640px}
.access-intro h1{margin:0 0 14px;font-size:clamp(2rem,3vw,2.7rem);line-height:1.06;letter-spacing:-.028em}
.access-intro>p:not(.eyebrow){margin:0;color:var(--ew-muted);max-width:56ch}
.access-header .breadcrumbs{margin-bottom:18px}
.form-section{padding:32px 0 96px}
.form-single{max-width:640px}
.form-card .field-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-card fieldset{padding:14px 16px 16px}
.form-card .choice-row{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
.form-card .choice{margin:5px 0}
.form-card textarea{min-height:110px}
@media (max-width:640px){
  .form-card .field-pair,.form-card .choice-row{grid-template-columns:1fr}
  .access-header{padding:40px 0 0}
  .form-section{padding:24px 0 64px}
}

/* ── H5 · Docs is a Q&A, so it reads as one column of questions ───────────
   The two-column split, the four decorative figures and the icon checklist carried no
   information a reader could act on. What is left is the question and its answer. */
.docs-header{padding:56px 0 0;border-bottom:0}
.docs-header h1{margin:0 0 14px;font-size:clamp(2rem,3vw,2.7rem);line-height:1.06;letter-spacing:-.028em}
.docs-header>.container>p:not(.eyebrow){margin:0;color:var(--ew-muted);max-width:60ch}
.docs-header .breadcrumbs{margin-bottom:18px}
.qa-column{max-width:760px}
.qa-section{padding:56px 0;border-top:var(--rule)}
.qa-section:first-of-type{border-top:0}
.qa-section.alternate{background:var(--s-raised)}
.qa-section h2{margin:0 0 6px;font-size:clamp(1.4rem,1.9vw,1.8rem);line-height:1.15;letter-spacing:-.02em;
  position:relative;padding-bottom:14px}
.qa-section h2:after{content:"";position:absolute;left:0;bottom:0;width:42px;height:3px;background:var(--ew-signal)}
.qa-section .eyebrow{margin:0 0 10px}
.qa-section .accordion-list{margin-top:22px;border-top:var(--rule)}
.qa-section details{border-bottom:var(--rule)}
.qa-section summary{list-style:none;cursor:pointer;padding:15px 34px 15px 0;position:relative;
  font-weight:700;color:var(--ew-ink);line-height:1.4}
.qa-section summary::-webkit-details-marker{display:none}
.qa-section summary:after{content:"";position:absolute;right:6px;top:50%;width:9px;height:9px;
  border-right:2px solid var(--ew-muted);border-bottom:2px solid var(--ew-muted);
  transform:translateY(-70%) rotate(45deg);transition:transform 200ms ease}
.qa-section details[open] summary:after{transform:translateY(-30%) rotate(-135deg);border-color:var(--ew-signal-ink)}
.qa-section summary:hover{color:var(--ew-signal-ink)}
.qa-section details[open] summary{color:var(--ew-signal-ink)}
.qa-section details p{margin:0;padding:0 34px 18px 0;color:var(--ew-muted);line-height:1.65}
@media (prefers-reduced-motion:reduce){.qa-section summary:after{transition:none}}
@media (max-width:640px){.qa-section{padding:40px 0}.docs-header{padding:40px 0 0}}
/* the section nav belongs to the Q&A column, not to the full container */
.docs-nav .container{max-width:760px}

/* Wordmarks replace the icon marks in the trusted row. Thin letterforms need more ink than
   solid marks did, so the uniform grayscale stays but the veil lifts. */
.logo-track img{opacity:.86}
.logo-marquee:hover img{opacity:1}

/* H7 — the index card's bottom border landed exactly on the next section's top rule,
   so the two 1px lines stacked. The card already closes the block; the rule is not needed
   there, and the cards need room before the first product section begins. */
.service-intro{padding-bottom:52px}
.product-story#line-model{border-top:0}

/* the capability pills were wrapping onto a second line and pushing the card taller than
   its neighbours; smaller type and tighter padding keep every row on one line */
.pill-row{gap:4px}
.pill-row em{font-size:.6rem;letter-spacing:.03em;padding:3px 7px;white-space:nowrap}

/* the chevron turns as soon as the menu starts opening, which is on hover as well as on click */
.nav-disclosure:hover .disclosure-button span,
.nav-disclosure:focus-within .disclosure-button span{transform:rotate(180deg)}
/* the learn-more arrow is drawn, so it centres on the label instead of on a fallback font's baseline */
.learn-link{display:inline-flex;align-items:center;gap:7px}
.learn-link span{display:inline-flex;align-items:center}
.learn-link svg{display:block;transition:transform 200ms ease}
.learn-link:hover svg{transform:translateX(3px)}
@media (prefers-reduced-motion:reduce){.learn-link svg{transition:none}}

/* One card per vendor, but a vendor that sells several kinds should not read as one list.
   A rule appears exactly where the modality changes, so the kinds separate themselves without
   splitting the company into two cards. In a filtered view every row shares one modality,
   so no rules are drawn there. */
.brand-model-card li + li{margin-top:14px}
.brand-model-card li[data-modality] + li[data-modality]{
  border-top:var(--rule);padding-top:13px;margin-top:13px}
.brand-model-card li[data-modality="language"]+li[data-modality="language"],
.brand-model-card li[data-modality="image"]+li[data-modality="image"],
.brand-model-card li[data-modality="video"]+li[data-modality="video"],
.brand-model-card li[data-modality="audio"]+li[data-modality="audio"],
.brand-model-card li[data-modality="embedding"]+li[data-modality="embedding"],
.brand-model-card li[data-modality="rerank"]+li[data-modality="rerank"]{
  border-top:0;padding-top:0;margin-top:14px}

/* Vendors carry different numbers of models, so a rail that lets every card hug its content
   comes out ragged, and one that stretches leaves the short cards empty. Cap the rail at three
   models per card and hold that height: the row stays level and nothing is hidden without a count. */
.model-rail-track{align-items:stretch}
.model-rail-track .brand-model-card{display:flex;flex-direction:column}
.brand-model-card ul{flex:1}
.card-more{margin:12px 0 0;font-family:var(--ew-mono);font-size:.66rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ew-signal-ink)}

/* [hidden] must win. Component rules that set display (the card is a column, the row is a
   column) outrank the user-agent's display:none, so filtered-out cards and rows kept
   rendering while the attribute said they were hidden. */
[hidden]{display:none!important}
/* the divider marks a change of kind between two visible rows; a row that follows a hidden
   one is the first thing in view and must not carry it */
.brand-model-card li[hidden] + li[data-modality]{border-top:0;padding-top:0}
/* Four vendors have no mark in the brand folder yet. A monogram keeps every card header on
   the same baseline instead of leaving those names shifted left, and it is obviously a
   placeholder rather than an invented logo. */
.brand-monogram{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;
  border:var(--rule);border-radius:var(--r-sm);background:var(--s-inset);
  font-family:var(--ew-mono);font-style:normal;font-size:.7rem;font-weight:700;
  color:var(--ew-muted);line-height:1}
