/* Shared route-aware architecture. Styles are scoped; legacy article bodies stay intact. */
html:has(.endorsa-v2){scroll-snap-type:none}
.architecture-hero.chapter-hero{background:#101c2b;color:#fff}
.architecture-home .chapter-hero h1{color:#fff}
.chapter-hero .architecture-lead,.chapter-hero .architecture-small{color:#d0dbe5}
.chapter-hero .eyebrow{color:#e2bd65}
.chapter-hero .architecture-text-link{color:#f3d68c}
.chapter-hero .architecture-split{grid-template-columns:1fr 1.05fr;gap:40px}
.chapter-portrait{position:relative;margin:0;min-width:0}
.chapter-portrait img{display:block;width:100%;height:540px;object-fit:cover;object-position:56% center;border-radius:180px 180px 24px 24px}
.chapter-caption{position:absolute;bottom:64px;left:16px;right:16px;padding:22px;background:#101c2bef;border:1px solid #e2bd6540;border-radius:12px}
.chapter-caption span,.chapter-caption strong{display:block}
.chapter-caption strong{font-family:Sora,sans-serif;font-size:1.4rem;color:#f3d68c;margin-top:7px}
.chapter-portrait figcaption{font-size:.72rem;line-height:1.5;margin-top:14px;color:#b6c7d7}
.chapter-chips{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
.chapter-chips span{border:1px solid #b7a16c;border-radius:30px;padding:7px 14px;font-size:.85rem}
.chapter-product{background:#eee9dd}
.chapter-document{padding:34px;background:#fffefb;border:1px solid #d7cdb7;box-shadow:12px 12px 0 #d3c7ac;border-radius:4px;transform:rotate(1deg)}
.chapter-doc-top{display:flex;justify-content:space-between;color:#766138;font-size:.72rem;letter-spacing:.12em;border-bottom:2px solid #c6a252;padding-bottom:18px}
.chapter-document h3{font-family:Sora,sans-serif;font-size:2rem;margin:24px 0}
.chapter-document details{padding:14px 0;border-top:1px solid #ddd2b8}
.chapter-document summary{cursor:pointer;font-weight:600}
.chapter-document details p{font-size:.92rem;color:#516174;padding:12px 0 0}
.chapter-conversion{margin:30px 0;padding:28px;border:1px solid #baa268;border-radius:14px;background:#f7f1e3}
.chapter-conversion h2{font-size:1.4rem;margin:8px 0 12px}
.chapter-conversion p{max-width:64ch}
.chapter-conversion .architecture-small{margin-bottom:0}
@media(min-width:801px) and (prefers-reduced-motion:no-preference){.chapter-portrait{animation:chapter-arrive .7s ease-out both}.chapter-document{transition:transform .25s ease}.chapter-document:hover{transform:rotate(0)}@keyframes chapter-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:800px){.chapter-hero .architecture-split{grid-template-columns:1fr}.chapter-portrait img{height:380px;border-radius:120px 120px 20px 20px}.chapter-document{transform:none;padding:24px;box-shadow:6px 6px 0 #d3c7ac}}
@media(max-width:480px){.architecture-home .chapter-hero h1{font-size:2.1rem}.chapter-hero .architecture-lead{font-size:1rem}.chapter-hero .architecture-product-name{font-size:1rem}.chapter-hero .architecture-actions{gap:14px;margin-top:20px}}
.endorsa-v2 .site-header .nav{height:76px;max-width:1440px;gap:18px}
.endorsa-v2 .nav-links{gap:20px;font-size:.85rem}
.endorsa-v2 .nav-links a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
.endorsa-v2 .logo small{white-space:nowrap}
.endorsa-v2 .nav-cta .btn{font-size:.85rem;padding:.7rem 1rem}
.architecture-context{background:#f2eee5;border-bottom:1px solid var(--line);font-size:.8rem}
.architecture-context .container{display:flex;flex-wrap:wrap;gap:8px;padding-top:9px;padding-bottom:9px}
.architecture-context a{text-decoration:underline;text-underline-offset:3px}
.architecture-hero{padding:90px 0 76px;background:radial-gradient(ellipse at 90% 15%,#f2e8ce,transparent 55%)}
.architecture-split{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center}
.architecture-hero h1{font-size:clamp(2.6rem,4.4vw,4.25rem);line-height:1.1;max-width:16ch;margin:16px 0 24px}
.architecture-lead{font-size:1.13rem;max-width:52ch;color:var(--muted)}
.architecture-product-name{font-family:'Sora',sans-serif;font-size:1.15rem;font-weight:600;margin:0 0 18px;max-width:38ch}
.architecture-price{font-family:'Sora',sans-serif;font-size:2.6rem;font-weight:700;margin:12px 0}
.architecture-home .architecture-hero h1{font-size:clamp(2.4rem,4vw,3.5rem);max-width:20ch}
.architecture-blueprint .architecture-hero h1{font-size:clamp(2.1rem,3.4vw,3.2rem);max-width:22ch}
.architecture-plan ul{padding-left:20px}
.architecture-plan ul li{display:list-item;border:0;padding:7px 0}
.architecture-plan ul li:before{content:none}
.architecture-plan ol{padding:0}
.endorsa-v2 main{overflow-wrap:break-word}
.endorsa-v2 .doc-body{min-width:0;width:100%}
.endorsa-v2 .doc{min-width:0}
@media(max-width:900px){.endorsa-v2 .doc{display:block}.endorsa-v2 .toc{position:static;max-width:100%;margin-bottom:24px}}
.endorsa-v2 .doc-body table{display:block;max-width:100%;overflow-x:auto}
.endorsa-v2 .nav-links>a{white-space:nowrap}
.architecture-actions{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:28px}
.architecture-text-link{text-decoration:underline;text-underline-offset:4px;font-weight:600}
.architecture-small{font-size:.88rem;color:var(--muted);margin-top:22px}
.architecture-small a{text-decoration:underline}
.architecture-plan{padding:32px;background:white;border:1px solid #ddd2b8;border-radius:20px;box-shadow:0 18px 48px #302b1710}
.architecture-plan h2{font-size:1.8rem;margin:12px 0 22px}
.architecture-plan ol{list-style:none;counter-reset:step}
.architecture-plan li{counter-increment:step;display:grid;grid-template-columns:36px 1fr;gap:3px 12px;padding:16px 0;border-top:1px solid var(--line)}
.architecture-plan li:before{content:counter(step,decimal-leading-zero);grid-row:span 2;color:#7a5e12;font-weight:700}
.architecture-plan li span{color:var(--muted);font-size:.93rem}
.architecture-plan>a{display:block;margin-top:20px;text-decoration:underline}
.architecture-section{padding:68px 0;scroll-margin-top:90px}
.architecture-section h2{font-size:clamp(1.8rem,3vw,2.5rem);max-width:30ch;margin:12px 0 22px}
.architecture-intro{max-width:76ch;color:var(--muted);margin-bottom:26px}
.architecture-intro a{text-decoration:underline}
.architecture-alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.architecture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}
.architecture-card{display:block;padding:26px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--text)}
.architecture-card h3{font-size:1.18rem;margin-bottom:12px}
.architecture-card p{color:var(--muted);font-size:.95rem;margin-bottom:20px}
.architecture-card>a,.architecture-card>span:not(.architecture-number){font-weight:600;font-size:.9rem;color:#684e0b}
a.architecture-card:hover{border-color:#a9821f;text-decoration:none}
.architecture-number{display:block;color:#7a5e12;font-weight:700;margin-bottom:15px}
.architecture-note{border-left:3px solid #b58d2a;padding:12px 0 12px 26px}
.architecture-note h3{margin-bottom:18px}
.architecture-note ul{padding-left:20px;margin-bottom:20px}
.architecture-note li{margin-bottom:10px}
.architecture-note p+p{margin-top:18px}
.architecture-end{background:#f1e8d3}
.architecture-search{display:block;width:100%;max-width:680px;padding:14px 16px;border:1px solid #8b8170;border-radius:8px;font:inherit;margin:10px 0}
.architecture-directory{margin-top:28px}
.architecture-directory details{border-top:1px solid var(--line);padding:18px 0}
.architecture-directory summary{cursor:pointer;font-family:'Sora',sans-serif;font-size:1.2rem;font-weight:600;padding:8px 0}
.architecture-directory ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 32px;list-style:none;padding:18px 0}
.architecture-directory li a{display:block;text-decoration:underline;text-underline-offset:3px;padding:5px 0;overflow-wrap:anywhere}
.architecture-directory [hidden]{display:none!important}
.architecture-hero label{font-weight:600}
.endorsa-v2 .snap-sec{min-height:0;padding:58px 0;scroll-snap-align:none}
.endorsa-v2 .sidenav{display:none}
@media(max-width:1220px){.endorsa-v2 .nav-links{display:none}.endorsa-v2 .menu-toggle{display:block}.endorsa-v2 .nav-links.open{display:flex;position:absolute;top:76px;left:0;right:0;flex-direction:column;align-items:flex-start;background:white;padding:24px;gap:18px;max-height:calc(100dvh - 76px);overflow:auto;border-bottom:1px solid var(--line)}}
@media(max-width:800px){.architecture-split{grid-template-columns:1fr;gap:30px}.architecture-grid{grid-template-columns:1fr}.architecture-hero{padding:44px 0}.architecture-section{padding:42px 0}.architecture-directory ul{grid-template-columns:1fr}.architecture-plan{padding:24px}.endorsa-v2 .site-header .nav{padding:0 16px;gap:10px}.architecture-actions .btn{white-space:normal;text-align:center;justify-content:center}.endorsa-v2 .logo-text small{font-size:.57rem}}
@media(max-width:480px){.endorsa-v2 .nav-cta>.btn{display:none}.architecture-hero h1{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){.endorsa-v2 *{scroll-behavior:auto;transition:none!important;animation:none!important}}
