/* Editorial structure with Cenovel's original typography and palette. Public pages use
   existing --cv-* colors via aliases; the console is unchanged. */
.cv-bar-inner{gap:32px}
.cv-nav-main{gap:0}
.cv-nav-main a{font-size:15px;padding-inline:10px}
.cv-nav-side{gap:12px}
.cv-header-cta{white-space:nowrap;min-height:40px;padding-inline:16px}
main:has(>.ed-next)+.cv-foot{margin-top:0}
body.cv .cv-link{font-size:15px;gap:10px}
body.cv main{padding-bottom:0}
.ed-label{display:block;font:500 12px/1.4 var(--cv-font);letter-spacing:.1em;text-transform:uppercase;color:var(--ed-accent)}
.ed-hero{padding:70px 0 56px}
.ed-hero-grid{display:grid;grid-template-columns:1.14fr 1fr;gap:72px;align-items:center}
.ed-hero-copy h1,.ed-features-head h1{font:500 clamp(42px,4.25vw,60px)/1.06 var(--cv-font);letter-spacing:-.045em;text-wrap:balance;margin:24px 0}
.ed-lead{font-size:19px;line-height:1.6;color:var(--ed-muted);max-width:49ch}
.ed-hero-copy .cv-actions{margin-top:30px}
.ed-audience{font-size:13px;color:var(--ed-muted);margin-top:22px}
.ed-network{margin:0;background:var(--ed-art);border-radius:3px;padding:22px 22px 24px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.ed-network svg{display:block;width:100%;height:auto;max-height:390px;overflow:visible}
.ed-network figcaption{font:400 21px/1.25 var(--cv-font);letter-spacing:-.02em;padding:16px 14px 0;border-top:1px solid var(--ed-accent)}
.ed-art-guide{fill:none;stroke:var(--ed-accent);stroke-width:1;opacity:.18}
.ed-art-wire{fill:none;stroke:var(--ed-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ed-art-wire circle{fill:var(--ed-art)}
.ed-art-object{fill:var(--ed-art);stroke:var(--ed-ink);stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
.ed-art-text{fill:var(--ed-ink);font:16px var(--cv-font)}
.ed-art-note{fill:var(--ed-accent);font:10px var(--cv-font);letter-spacing:1.5px}
.ed-release{display:flex;align-items:center;gap:24px;min-height:64px;border-block:1px solid var(--ed-line);font-size:14px}
.ed-release>.ed-label{color:var(--ed-muted);font-size:11px}
.ed-release-desc{margin-left:auto;color:var(--ed-muted)}
.ed-release:hover .ed-release-desc{text-decoration:underline;text-underline-offset:4px}
.ed-section{padding:88px 0}
.ed-section-head{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:42px}
.ed-section-head h2,.ed-work h2,.ed-next h2,.ed-resource-row h2{font:500 40px/1.12 var(--cv-font);letter-spacing:-.035em}
.ed-section-head .ed-label{margin-bottom:18px}
.ed-section-head p{max-width:51ch;color:var(--ed-muted);font-size:17px;line-height:1.65}
.ed-capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.ed-capabilities article{border-top:1px solid var(--ed-line-strong);padding-top:20px;display:flex;flex-direction:column;align-items:start}
.ed-number{font:13px var(--cv-mono);color:var(--ed-accent);margin-bottom:36px}
.ed-capabilities h3{font:500 26px/1.2 var(--cv-font);letter-spacing:-.02em}
.ed-capabilities p{font-size:16px;line-height:1.65;color:var(--ed-muted);margin:16px 0 24px}
.ed-capabilities .cv-link{margin-top:auto}
.ed-product-view{background:var(--ed-section)}
.ed-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:20px}
.ed-screen{margin:0;background:var(--ed-card);border:1px solid var(--ed-line);border-radius:3px}
.ed-screen img{display:block;width:100%;height:auto;border-radius:2px 2px 0 0}
.ed-screen figcaption{padding:13px 20px;font-size:13px;line-height:1.5;color:var(--ed-muted);border-top:1px solid var(--ed-line)}
.ed-work{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.ed-work>div>p{color:var(--ed-muted);max-width:38ch;margin:22px 0}
.ed-work h2{margin-top:18px}
.ed-work-list{list-style:none;padding:0;margin:0}
.ed-work-list li{display:grid;grid-template-columns:32px 1fr;gap:18px;border-top:1px solid var(--ed-line);padding:24px 0}
.ed-work-list li:first-child{padding-top:0;border-top:0}
.ed-work-list>li>span{color:var(--ed-accent);font:13px/1.8 var(--cv-mono)}
.ed-work-list h3{font-size:19px}
.ed-work-list p{font-size:16px;color:var(--ed-muted);margin-top:8px}
.ed-principles{padding:72px 0;background:var(--ed-section-alt)}
.ed-principle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.ed-principle-grid article{display:flex;flex-direction:column;align-items:start;border-top:1px solid var(--ed-line-strong);padding-top:24px}
.ed-principle-grid h3{font-size:19px}
.ed-principle-grid p{font-size:16px;color:var(--ed-muted);margin:14px 0 24px}
.ed-principle-grid .cv-link{margin-top:auto}
.ed-resource-row{display:flex;justify-content:space-between;align-items:center;gap:32px}
.ed-resource-row>div{display:flex;flex-wrap:wrap;gap:20px 32px}
.ed-next{background:var(--ed-well);padding:64px 0;border-top:1px solid var(--ed-line)}
.ed-next-inner{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:center}
.ed-next h2{margin:18px 0}
.ed-next p{font-size:16px;max-width:53ch;color:var(--ed-muted)}
.ed-next-actions{display:flex;flex-direction:column;align-items:start;gap:22px;justify-self:end}
/* Feature pages use chapters, evidence, and guide links instead of a wall of cards. */
.ed-features-head{padding:64px 0 40px}
.ed-features-head h1{max-width:1000px}
.ed-features-head .ed-lead{max-width:65ch}
.ed-jump-links{display:flex;flex-wrap:wrap;gap:16px 36px;border-top:1px solid var(--ed-line);padding-top:24px;margin-top:40px;font-size:15px}
.ed-jump-links a{display:inline-flex;align-items:center;gap:18px;min-height:36px}
.ed-jump-links a:hover{text-decoration:underline;text-underline-offset:4px}
.ed-feature-group{padding:72px 0;border-top:1px solid var(--ed-line);scroll-margin-top:16px}
.ed-feature-group:nth-of-type(even){background:var(--ed-well)}
.ed-feature-details{display:grid;grid-template-columns:.85fr 1.6fr;gap:64px;align-items:start}
.ed-feature-details>ul{list-style:none;margin:0;padding:0}
.ed-feature-details li+li{margin-top:26px;padding-top:24px;border-top:1px solid var(--ed-line)}
.ed-feature-details h3{font-size:18px}
.ed-feature-details p{font-size:15px;color:var(--ed-muted);margin:8px 0 10px}
.ed-feature-details .ed-screen{margin-bottom:18px}
.ed-editions{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.ed-editions article{padding-top:24px;border-top:1px solid var(--ed-line-strong)}
.ed-editions h3{font:500 26px/1.25 var(--cv-font)}
.ed-editions p{margin:16px 0;color:var(--ed-muted);font-size:16px}
.ed-editions .ed-fine{font-size:14px}
.ed-support-row{display:flex;flex-wrap:wrap;gap:16px 36px;margin-top:40px}
@media(max-width:1100px){
 .ed-hero-grid{gap:40px}.ed-section-head,.ed-work{gap:48px}.ed-feature-details{gap:32px}
 .cv-bar-inner{gap:32px}.cv-nav-main{gap:0}
}
@media(max-width:1023px){
 .cv-nav-side{align-items:center}
}
@media(max-width:800px){
 .ed-hero{padding:44px 0 36px}.ed-hero-grid{grid-template-columns:1fr;gap:36px}
 .ed-hero-copy h1,.ed-features-head h1{font-size:48px}.ed-network{max-width:600px;width:100%}
 .ed-network svg{max-height:300px}.ed-section{padding:56px 0}
 .ed-section-head,.ed-work,.ed-next-inner,.ed-feature-details{grid-template-columns:1fr;gap:28px}
 .ed-section-head h2,.ed-work h2,.ed-next h2,.ed-resource-row h2{font-size:36px}
 .ed-capabilities,.ed-principle-grid{grid-template-columns:1fr;gap:32px}
 .ed-number{margin-bottom:20px}.ed-capabilities p{max-width:58ch;margin-bottom:14px}
 .ed-principles{padding:56px 0}.ed-resource-row{align-items:start;flex-direction:column}
 .ed-next-actions{justify-self:start}.ed-feature-group{padding:48px 0}
 .ed-feature-details>div{max-width:100%}.ed-editions{gap:32px}
}
@media(max-width:520px){
 .ed-hero-copy h1,.ed-features-head h1{font-size:40px;letter-spacing:-.04em}
 .ed-lead{font-size:17px}.ed-hero-copy .cv-actions{gap:12px}
 .ed-release{gap:12px;flex-wrap:wrap;padding:16px 0}.ed-release-desc{flex-basis:calc(100% - 40px);margin-left:0}
 .ed-network{padding:16px}.ed-network figcaption{font-size:20px}
 .ed-section-head h2,.ed-work h2,.ed-next h2,.ed-resource-row h2{font-size:32px}
 .ed-editions{grid-template-columns:1fr}.ed-jump-links{gap:8px 24px}
 .ed-resource-row>div{flex-direction:column;gap:18px}.ed-screen figcaption{padding:12px}
}
@media(prefers-reduced-motion:reduce){
 .ed-jump-links,.ed-feature-group{scroll-behavior:auto}
}

/* Progressive enhancement: the compact navigation must remain usable without scripts. */
@media(max-width:1023px){
 html:not(.js) .cv-menu{display:none}
 html:not(.js) .cv-bar{position:static}
 html:not(.js) .cv-nav{display:flex}
 html:not(.js) body:is(.cv,.cv-docs){height:auto;overflow:visible}
 html:not(.js) body:is(.cv,.cv-docs)>.page-scroll{height:auto;overflow:visible}
 html:not(.js) .page-scroll>main{padding-top:0}
 html:not(.js) .page-scroll>main>:is(.cv-hero,.cv-subhero):first-child{margin-top:0;padding-top:48px}
}

/* The page heads retain Cenovel's titanium field, blue accents, and white diagram surface. */
.ed-hero,.ed-features-head{background:var(--cv-hero);--ed-ink:var(--cv-hero-ink);--ed-muted:var(--cv-hero-muted);--ed-accent:var(--cv-hero-label);--ed-line:var(--cv-hero-line)}
.ed-hero h1,.ed-features-head h1{color:var(--cv-hero-ink)}
.ed-features-head .ed-jump-links{color:var(--cv-hero-ink)}
.ed-hero .cv-btn:not(.ghost){background:var(--cv-hero-btn);border-color:var(--cv-hero-btn);color:var(--cv-hero-btn-ink)}
.ed-hero .cv-btn.ghost{color:var(--cv-hero-ink);border-color:var(--cv-hero-ghost-line)}
.ed-hero .cv-btn.ghost:hover{background:var(--cv-hero-lift)}
.ed-network{--ed-ink:var(--cv-ink);--ed-muted:var(--cv-muted);--ed-accent:var(--cv-blue-text);border-radius:var(--cv-radius-lg);color:var(--cv-ink)}
.ed-network figcaption{font-family:var(--cv-font);font-size:19px;letter-spacing:0}
.ed-release{margin-top:24px}

/* The same editorial rhythm across public articles, trust, demo, and documentation. */
body.cv :is(.cv-hero,.cv-subhero) h1{max-width:19ch;line-height:1.1;letter-spacing:-.035em}
body.cv .cv-subhero .cv-hero-copy{align-items:center;gap:72px}
body.cv .cv-subhero .cv-hero-copy .cv-lead{margin-top:0}
body.cv main>.cv-s{padding-top:64px}
body.cv main>.cv-s .cv-s-head{gap:64px;border-top:0;padding-top:0;margin-bottom:32px;align-items:end}
body.cv main>.cv-s .cv-s-head h2{font-size:32px;line-height:1.2;max-width:22ch}
body.cv main>.cv-s .cv-s-head p{font-size:17px;line-height:1.65}
body.cv .cv-article{padding-top:56px;column-gap:64px}
body.cv .cv-prose>section{padding-block:36px}
body.cv .cv-prose>section:first-child{padding-top:0}
body.cv .cv-prose h2{font-size:28px;line-height:1.25;margin-bottom:18px}
body.cv .cv-prose :is(p,li){line-height:1.7}
body.cv .cv-article.no-toc .cv-prose{max-width:800px}
.ed-trust-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.ed-trust-links li{border-top:1px solid var(--cv-line)}
.ed-trust-links a{position:relative;display:block;padding:24px 36px 24px 0;min-height:136px}
.ed-trust-links h3{font-size:20px;margin:0 0 10px}
.ed-trust-links p{color:var(--cv-muted);font-size:15px;line-height:1.6;max-width:52ch}

.ed-trust-links a:hover h3{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.ed-demo-intro{align-items:center;gap:64px}
.ed-demo-intro h1{max-width:16ch}
.ed-demo-intro .cv-lead{margin-top:0}
.ed-demo-intro .meta-line{margin-top:24px}
.ed-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.ed-contact-grid h2{font-size:28px;line-height:1.25;margin-bottom:18px}
.ed-contact-grid p{color:var(--cv-muted);font-size:17px;line-height:1.7;max-width:52ch}
.ed-contact-security{padding:40px 0;background:var(--cv-page-low)}
.ed-contact-security h2{font-size:22px;margin-bottom:12px}
.ed-contact-security p{margin-bottom:12px;color:var(--cv-muted)}
.ed-contact-security p a{color:var(--cv-blue-text);text-decoration:underline;text-underline-offset:3px}
/* Reading pages: a clearer title, comfortable line length, quiet metadata, and usable wayfinding. */
body.cv-docs .docs-shell{padding-top:48px}
body.cv-docs .docs-article h1{font-size:42px;line-height:1.14;letter-spacing:-.03em;margin:12px 0 20px}
body.cv-docs .docs-article .intro{font-size:19px;line-height:1.65;color:var(--cv-muted)}
body.cv-docs .docs-article .kicker{font-size:13px;color:var(--cv-blue-text)}
body.cv-docs .docs-article .asof{margin:24px 0 36px;padding:14px 0;font-size:13px;color:var(--cv-muted)}
body.cv-docs .docs-article>section>h2{padding-left:0;font-size:28px;line-height:1.25;margin:48px 0 18px}
body.cv-docs .docs-article>section>h2::before,body.cv-docs .docs-article>section>h3::before,body.cv-docs .page-outline nav a::before{content:none}
body.cv-docs .docs-article>section:first-of-type>h2{margin-top:0}
body.cv-docs .docs-article>section>h3{font-size:21px;margin:28px 0 12px}
body.cv-docs .docs-article :is(p,li){line-height:1.7}
body.cv-docs .docs-article .rel-kind li{padding-left:0}
body.cv-docs .docs-article .rel-kind li::before{content:none}
body.cv-docs .rel-kind ul{list-style:disc;padding-left:22px}
body.cv-docs .doc-next{align-items:start;gap:24px;padding-top:24px;margin-top:48px}
body.cv-docs .doc-next a{font-size:14px;line-height:1.6;max-width:46%}
body.cv-docs .page-outline a{padding-block:7px;line-height:1.5}
body.cv-docs .landing-hero{display:grid;grid-template-columns:1.35fr 1fr;gap:80px;align-items:center;padding:64px 0}
body.cv-docs .landing-hero h1{font:500 48px/1.12 var(--cv-font);letter-spacing:-.03em;max-width:14ch}
body.cv-docs .landing-statement{font-size:18px;line-height:1.65;max-width:54ch}
body.cv-docs .landing-intro .meta-line{font-size:13px;margin:20px 0}
.ed-doc-start{display:grid;border-top:1px solid var(--cv-line)}
.ed-doc-start a{display:block;padding:22px 0;border-bottom:1px solid var(--cv-line);color:var(--cv-ink);text-decoration:none}
.ed-doc-start a>span{font-size:19px;font-weight:500}
.ed-doc-start a:hover>span{text-decoration:underline;text-underline-offset:4px}
.ed-doc-start p{font-size:15px;line-height:1.6;color:var(--cv-muted);margin:8px 0 0;max-width:44ch}
body.cv-docs .pubs-head{border-top:1px solid var(--cv-line);padding-top:32px}
body.cv-docs .pub-group-head{grid-template-columns:1fr;border-bottom-color:var(--cv-line);padding:8px 0 20px}
body.cv-docs .pub-group-head p{grid-column:1;font-size:15px;line-height:1.6;max-width:72ch}
body.cv-docs .pub-num{display:none}
body.cv-docs .pub-group .pub-list li{grid-template-columns:minmax(200px,1fr) minmax(0,2fr);column-gap:48px;row-gap:8px;padding:20px 0}
body.cv-docs .pub-group .pub-list li>a{grid-column:1;grid-row:1}
body.cv-docs .pub-group .pub-summary{grid-column:2;grid-row:1/3;font-size:15px;line-height:1.6}
body.cv-docs .pub-group .pub-date{grid-column:1;grid-row:2;text-align:left;font-size:12px}
@media(min-width:1280px){body.cv-docs .docs-shell{grid-template-columns:208px minmax(0,1fr) 176px;gap:40px}}
@media(max-width:1023px){
 body.cv .cv-subhero .cv-hero-copy,.ed-demo-intro{gap:28px}
 body.cv .cv-article{gap:32px}
 body.cv-docs .landing-hero{gap:40px}
}
@media(max-width:800px){
 .ed-trust-links,.ed-contact-grid,body.cv-docs .landing-hero{grid-template-columns:1fr;gap:32px}
 .ed-trust-links{gap:0}
 body.cv main>.cv-s .cv-s-head{gap:20px}
 body.cv-docs .landing-hero{padding:40px 0}
 body.cv-docs .landing-hero h1{font-size:38px}
 body.cv-docs .docs-article h1{font-size:34px}
 body.cv-docs .pub-group .pub-list li{display:grid;grid-template-columns:1fr;gap:8px;padding:20px 0}
 body.cv-docs .pub-group .pub-summary{grid-column:1;grid-row:2}
 body.cv-docs .pub-group .pub-date{grid-row:3}
 body.cv-docs .doc-next{flex-direction:column}
 body.cv-docs .doc-next a{max-width:100%}
}

/* The inner page owns scrolling. Clipping both outer boxes prevents native hash
   navigation from also scrolling a hidden outer ancestor under the fixed header. */
html:has(body:is(.cv,.cv-docs)){height:100%;overflow:clip}
body:is(.cv,.cv-docs){position:fixed;inset:0;width:100%;overflow:clip}
@media(max-width:1023px){
 html:not(.js):has(body:is(.cv,.cv-docs)){height:auto;overflow:visible}
 html:not(.js) body:is(.cv,.cv-docs){position:static;overflow:visible}
}

/* Link wording and a visible underline do the work without repeated arrow ornaments. */
.cv-link,.ed-jump-links a{ text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px }
.ed-contact-security-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.ed-contact-security-inner>div:last-child{padding-left:0}
.ed-contact-security-inner p{max-width:48ch}
@media(max-width:800px){.ed-contact-security-inner{grid-template-columns:1fr;gap:20px}}

/* Explanatory diagrams replace miniature console screenshots in the product story. */
.ed-diagram{margin:0 0 20px;background:var(--cv-page);border:1px solid var(--cv-line);border-radius:var(--cv-radius-lg);padding:20px 24px 0;color:var(--cv-ink)}
.ed-diagram svg{display:block;width:100%;height:auto;max-height:490px;overflow:visible}
.ed-diagram svg text{font:24px var(--cv-font);fill:var(--cv-ink)}
.ed-diagram svg .ed-diagram-note{font-size:18px;fill:var(--cv-muted)}
.ed-diagram-object{fill:var(--cv-page);stroke:var(--cv-ink);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.ed-diagram-wire{fill:none;stroke:var(--cv-blue-text);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ed-diagram-dashed{stroke-dasharray:5 7}
.ed-diagram-node,.ed-diagram-dot{fill:var(--cv-page);stroke:var(--cv-blue-text);stroke-width:2}
.ed-diagram-field{fill:var(--cv-page);stroke:var(--cv-line);stroke-width:1}
.ed-diagram figcaption{border-top:1px solid var(--cv-line);padding:16px 0;font-size:15px;line-height:1.6}
.ed-diagram figcaption span{display:block;color:var(--cv-muted);font-size:13px}
.ed-product-view .ed-diagram{max-width:900px;margin-inline:auto}
.ed-feature-details>div>.cv-link{margin-top:4px}
@media(max-width:800px){.ed-diagram{padding:12px 8px 0}.ed-diagram figcaption{padding:12px 8px}}

/* Keyboard selection must remain distinct beyond the pale result-row fill. */
.search-dialog li[aria-selected=true] a{outline:2px solid var(--ed-focus);outline-offset:-2px}
