
:root{--navy:#0a1020;--navy-layer:#0e1730;--white:#eef2fa;--blue:#7ab4ff;--blue-strong:#1c3f9e;--paper:#f4f6fa;--sky:#e3edfb;--ink:#101c34;--muted-dark:#a9b4cb;--muted-light:#4a5672;--rule-dark:#35435e;--rule-light:#c2ccdd;--font-display:"Baskerville","Iowan Old Style","Palatino Linotype",Georgia,serif;--font-body:"Avenir Next",Avenir,"Segoe UI",sans-serif;--gutter:clamp(24px,5vw,72px);--max-width:1200px;--space-section:clamp(64px,7vw,104px);--foreground:var(--white);--muted:var(--muted-dark);--rule:var(--rule-dark);--link:var(--blue)}
*{box-sizing:border-box}
html{scroll-padding-top:24px}
body{margin:0;background:var(--navy);color:var(--white);font:400 1rem/1.65 var(--font-body);-webkit-font-smoothing:antialiased;overflow-wrap:anywhere}
:where(h1,h2,h3,h4,p,figure,ol,ul){margin:0}
p+p{margin-top:16px}
p{max-width:68ch;text-wrap:pretty}
h1,h2,h3{font-family:var(--font-display);font-weight:400;text-wrap:balance}
h1{font-size:clamp(3.25rem,6.5vw,6rem);line-height:1.04;letter-spacing:-.03em}
h2{font-size:clamp(2.25rem,4vw,3.5rem);line-height:1.13;letter-spacing:-.02em}
h3{font-size:1.75rem;line-height:1.2;letter-spacing:-.01em}
a{color:var(--link);text-underline-offset:5px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--link);outline-offset:5px}
em.accent,.hero h1 em{font-style:italic;color:var(--blue)}
.wrap{width:calc(100% - var(--gutter)*2);max-width:var(--max-width);margin-inline:auto}
.skip{position:absolute;top:12px;left:24px;transform:translateY(-200%);padding:12px 20px;background:var(--blue);color:var(--navy);z-index:5}
.skip:focus{transform:none}
.site-header{border-bottom:1px solid var(--rule)}
.header-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 32px;padding-block:20px}
.name{display:inline-flex;align-items:center;min-height:44px;color:var(--white);font:1.5rem/1.2 var(--font-display);text-decoration:none}
.navigation{display:flex;flex-wrap:wrap;gap:8px 24px}
.navigation a{display:inline-flex;align-items:center;min-height:44px;color:var(--white);font-size:.9375rem;text-decoration:none}
.navigation a:hover{text-decoration:underline;text-underline-offset:6px}
.hero{padding-block:var(--space-section)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:64px}
.hero-role{margin-bottom:28px;color:var(--blue);font-size:.875rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.hero h1{max-width:11ch}
.hero-copy{margin-top:32px;max-width:42ch;font-size:1.3125rem;line-height:1.55}
.hero-copy+p{margin-top:24px;color:var(--muted)}
.hero .button{margin-top:32px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:52px;max-width:100%;padding:16px 22px;color:var(--navy);background:var(--blue);font-size:.9375rem;font-weight:600;line-height:1.4;text-decoration:none}
.button:hover{background:var(--white)}
.button::after{content:"↗";flex:none;font-size:1.25rem}
.hero-photo{justify-self:end;margin:0}
.hero-photo img{display:block;width:auto;max-width:100%;height:auto;max-height:min(82vh,820px);object-fit:contain}
.stages{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:baseline;margin-top:48px;padding-top:20px;border-top:1px solid var(--rule)}

.stages ul{display:flex;flex-wrap:wrap;gap:6px 0;list-style:none;padding:0;color:var(--muted);font-size:.875rem}
.stages li{white-space:nowrap}
.stages li+li::before{content:"·";margin:0 8px;color:var(--rule)}
.section{padding-block:var(--space-section)}
.light{--foreground:var(--ink);--muted:var(--muted-light);--rule:var(--rule-light);--link:var(--blue-strong);color:var(--foreground);background:var(--paper)}
.layer{background:var(--navy-layer)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:80px}
.section-title{margin-bottom:40px;max-width:22ch}
.split h2{max-width:18ch}
.transform-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:72px;align-items:start}
.transform-grid .section-title{margin-bottom:32px}
.transform-copy p{font-size:1.125rem}
.transform-side{align-self:center}
.transform-art svg{display:block;width:100%;height:auto}
.multiplier{margin-top:var(--s-5);padding-top:24px;border-top:3px solid var(--link);font:400 clamp(1.75rem,2.8vw,2.5rem)/1.25 var(--font-display);max-width:none;width:100%}
.multiplier span{display:block;max-width:24ch}
.source-note{margin-top:28px;color:var(--muted);font-size:.9375rem!important}
.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;list-style:none;padding:0;counter-reset:topic}
.topic-grid>li{padding-top:20px;border-top:1px solid var(--rule);counter-increment:topic}
.topic-grid>li::before{content:"0" counter(topic);display:block;margin-bottom:12px;color:var(--link);font-size:.875rem}
.topic-grid h3{margin-bottom:12px;font-size:1.5rem}
.topic-grid p{font-size:.9375rem}
.thesis-sub{margin:-28px 0 32px;max-width:36ch;color:var(--muted);font:400 clamp(1.375rem,2.2vw,1.75rem)/1.3 var(--font-display)}
.thesis-intro{max-width:72ch;font-size:1.125rem}
.protocol-map{margin-top:56px;padding-top:28px;border-top:1px solid var(--rule)}
.protocol-map+.protocol-map{margin-top:48px}
.protocol-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:48px;margin-bottom:24px}

.protocol-head p{margin:0;color:var(--muted);font-size:.9375rem;max-width:70ch}
.protocol-layers{list-style:none;padding:0;margin:0}
.protocol-layer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:48px;align-items:center;padding-block:16px;border-top:1px solid var(--rule)}
.protocol-layer:last-child{border-bottom:1px solid var(--rule)}
.protocol-layer h4,.role-list h4{margin:0 0 4px;font-size:1rem;font-weight:600}
.protocol-layer p{margin:0;color:var(--muted);font-size:.875rem}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.chips li{display:flex}

.chips li>a::after{content:"↗";font-size:.75rem;color:var(--link)}
.chips li>a:hover{background:color-mix(in srgb,var(--link) 16%,transparent)}
.chips abbr{text-decoration:none}
.map-note{margin-top:20px;color:var(--muted);font-size:.8125rem}
.bring{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:48px;align-items:center;margin:-8px 0 40px;padding-block:20px;border-block:1px solid var(--rule)}

.offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.offer-card{display:flex;flex-direction:column;padding:32px;border:1px solid var(--rule);background:var(--paper)}
.offer-card h3{margin-bottom:24px;max-width:23ch;color:var(--ink)}
.offer-card p{margin-bottom:20px}
.offer-card .format{margin-top:auto;margin-bottom:0;padding-top:20px;border-top:1px solid var(--rule);font-size:.9375rem;color:var(--muted)}
.offer-card .talk-link{display:inline-flex;align-items:center;align-self:flex-start;min-height:44px;margin:0 0 20px;font-weight:600;font-size:.9375rem}
.track{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,4fr);gap:48px;padding-block:28px;border-top:1px solid var(--rule)}
.track:last-child{border-bottom:1px solid var(--rule)}
.track h3{font:600 .75rem/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:8px}
.track ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;list-style:none;padding:0}
.track strong{display:block;margin-bottom:8px;font:400 1.625rem/1.2 var(--font-display);color:var(--blue)}
.track.people strong{font-style:italic}
.track p{font-size:.9375rem;color:var(--muted)}
.proof-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:48px;margin-top:40px;padding-top:24px;border-top:1px solid var(--rule)}
.proof-band:first-of-type{margin-top:0}

.band-intro{margin:0 0 16px;color:var(--muted)}
.role-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.role-list li{padding-block:14px;border-top:1px solid var(--rule)}
.role-list p{margin:0;font-size:.9375rem;color:var(--muted)}

/* Gallery: fallback grid without JS; justified rows (full photos, flush edges) with JS */
.role-list .given{margin-top:6px;color:var(--foreground)}
.given-note{margin:16px 0 0;color:var(--muted);font-size:.9375rem}
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px}
.gallery figure{aspect-ratio:3/2;overflow:hidden;background:transparent}
.gallery.justified{display:flex;flex-wrap:wrap;gap:12px}
.gallery.justified figure{flex:none;aspect-ratio:auto}
.shot{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}
.shot img{display:block;width:100%;height:100%;object-fit:fill;transition:opacity .2s}
.shot:hover img{opacity:.85}
.lightbox{width:100vw;height:100vh;max-width:100vw;max-height:100vh;margin:0;padding:0;border:0;background:transparent;color:var(--white)}
.lightbox::backdrop{background:rgba(5,8,16,.94)}
.lightbox[open]{display:grid;place-items:center}
.lightbox img{max-width:min(92vw,1600px);max-height:86vh;width:auto;height:auto;object-fit:contain}
.lb-btn{position:fixed;display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--rule-dark);border-radius:50%;background:rgba(10,16,32,.7);color:var(--white);font:400 1.5rem/1 var(--font-body);cursor:pointer}
.lb-btn:hover{border-color:var(--blue);color:var(--blue)}
.lb-close{top:20px;right:20px}
.lb-prev{left:20px;top:50%;transform:translateY(-50%)}
.lb-next{right:20px;top:50%;transform:translateY(-50%)}
.lb-count{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);color:var(--muted-dark);font-size:.875rem}
.lab p{max-width:70ch}
.lab .chips{margin-top:16px}

.stat-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:28px 0 0}
.stat-tiles li{display:flex;flex-direction:column;gap:6px;padding:20px;border:1px solid var(--rule)}
.stat-tiles strong{font-family:var(--font-display);font-weight:400;font-size:clamp(1.75rem,3vw,3rem);line-height:1.1;white-space:nowrap;color:var(--link)}
.stat-tiles span{color:var(--muted);font-size:.9375rem}
@media(max-width:559px){.stat-tiles{grid-template-columns:minmax(0,1fr)}}
.contact{padding-block:var(--space-section)}
.contact .button{margin-top:28px}
.site-footer{border-top:1px solid var(--rule);background:var(--navy-layer)}
.footer-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:80px;padding-block:64px 48px}
.footer-links{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
.footer-brand p{max-width:40ch;color:var(--muted);font-size:.9375rem}
.footer-role{margin:4px 0 12px;color:var(--link)!important;font-size:.75rem!important;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.footer-brand .button{margin-top:24px}
.footer-col h2{margin-bottom:12px;font:600 .75rem/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col a{display:inline-flex;align-items:center;min-height:40px;color:var(--foreground);font-size:.9375rem;text-decoration:none}
.footer-col a:hover{color:var(--link);text-decoration:underline}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding-block:20px;border-top:1px solid var(--rule)}
.footer-bottom p,.footer-bottom a{margin:0;color:var(--muted);font-size:.8125rem}
:where(.hero-grid,.split,.offer-grid,.transform-grid,.topic-grid,.protocol-head,.protocol-layer,.bring,.proof-band,.reach,.reach-stat,.footer-top,.stages,.track,.track ol)>*{min-width:0}
@media(max-width:1023px){
.hero-grid{gap:32px}
.split{gap:40px}
.transform-grid{grid-template-columns:minmax(0,1fr);gap:40px}
.transform-art{max-width:520px}
.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 40px}
.role-list{grid-template-columns:minmax(0,1fr)}
.proof-band,.bring,.track{grid-template-columns:minmax(0,1fr);gap:16px}
.track ol{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
.footer-top{grid-template-columns:minmax(0,1fr);gap:40px}
}
@media(max-width:767px){
.hero-grid,.split,.offer-grid,.topic-grid,.protocol-head,.protocol-layer,.stages{grid-template-columns:minmax(0,1fr);gap:24px}
.protocol-head,.protocol-layer,.stages{gap:10px}
.track ol{grid-template-columns:minmax(0,1fr);gap:16px}
.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero h1{max-width:15ch}
.hero-copy{font-size:1.1875rem}
.section-title{margin-bottom:28px}
.thesis-sub{margin-top:-16px}
.navigation{display:grid;grid-template-columns:repeat(3,max-content);justify-content:start;gap:4px 18px}
.navigation a{font-size:.875rem}
.offer-card{padding:24px}
.footer-top{padding-block:48px 32px;gap:32px}
.footer-links{gap:24px}
.footer-bottom{flex-direction:column;align-items:flex-start;gap:4px}
.lb-prev,.lb-next{top:auto;bottom:12px;transform:none}
}
.reach{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:16px 40px;align-items:center;margin-top:20px;padding-block:20px;border-block:1px solid var(--rule)}
.reach-stat{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:0}
.reach-stat strong{font:400 clamp(2.25rem,4vw,3.25rem)/1 var(--font-display);color:var(--link)}
.reach-stat span{max-width:16ch;font-size:.9375rem;line-height:1.4;color:var(--muted)}
.reach-venues{margin:0;color:var(--muted);font-size:.9375rem;line-height:1.7}

@media(max-width:767px){.reach{grid-template-columns:minmax(0,1fr);gap:12px}}
/* v18: products, paired comparison and enduring integration principles */
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 28px}
.product-group h4{color:var(--link);font-size:1rem;margin-bottom:12px}
.product-group ul{list-style:none;padding:0}
.product-group li{border-top:1px solid var(--rule);padding-block:14px}
.product-group strong{font-size:.9375rem;font-weight:600}
.product-group p{margin:4px 0 0;color:var(--muted);font-size:.875rem}
.venue-groups{display:grid;gap:16px}
.change-2030{margin-top:56px;padding-top:28px;border-top:1px solid var(--rule)}
.change-2030 table{width:100%;table-layout:fixed;border-collapse:collapse;text-align:left}
.change-2030 caption{text-align:left;margin-bottom:24px}
.comparison-title{display:block;font:400 clamp(1.75rem,3vw,2.5rem)/1.15 var(--font-display)}
.comparison-intro{display:block;margin-top:12px;color:var(--muted);font-size:1.125rem}
.change-2030 th{color:var(--link);font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.change-2030 th,.change-2030 td{padding:16px 24px;vertical-align:top}
.change-2030 td{border-top:1px solid var(--rule);font-size:1.25rem;line-height:1.4;padding-block:14px}.change-2030 td:last-child{color:var(--ink);font-weight:500}
.change-2030 td:first-child{color:var(--muted)}
.change-2030 :is(th,td):first-child{padding-left:0;border-right:1px dashed var(--rule)}
.change-2030 :is(th,td):last-child{padding-right:0}
.cell-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.principles{margin-top:0}
.principles h4{font-size:1.125rem}
.principles-sub{color:var(--muted);font-size:.9375rem;margin-top:8px}
.principles ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin-top:24px}
.principles li{border-top:1px solid var(--link);padding-top:16px}
.principles strong{font-weight:600;font-size:.9375rem;line-height:1.4;display:block}
.principles li p{color:var(--muted);font-size:.875rem;margin-top:8px}

@media(max-width:1249px){.principles ul{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:640px) and (max-width:1023px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.change-2030 thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.change-2030 tbody,.change-2030 tr,.change-2030 td{display:block;width:100%}.change-2030 tr{border-top:1px solid var(--rule);padding-block:16px}.change-2030 td,.change-2030 td:first-child{padding:0;border:0}.change-2030 td{font-size:1.0625rem}.change-2030 td:first-child{margin-bottom:8px}.change-2030 td:last-child{padding:0}}
@media(min-width:640px) and (max-width:899px){.principles ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:639px){.product-grid,.principles ul{grid-template-columns:minmax(0,1fr)}}
/* v21: compact maps and shared editorial band leads */
.principles .section-title{margin-bottom:24px}
.principles-sub{font-size:1.125rem}

.band-lead,.lab-lead{margin-bottom:16px;font-family:var(--font-display);font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.2;color:var(--foreground)}
.band-lead+.band-intro{margin-top:-4px}
 .change-callouts{margin-top:32px}

.callouts-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-items:start}
.change-callout{border-left:3px solid var(--link);padding-left:16px}
.callout-number,.callout-title{display:flex;align-items:baseline;min-height:44px;margin-bottom:12px;line-height:1}
.callout-number{font:400 clamp(2rem,3.5vw,2.75rem)/1 var(--font-display);color:var(--link)}
.callout-title{font-size:1.125rem;font-weight:600;color:var(--ink);align-items:flex-end;padding-bottom:4px}
.change-callout p{font-size:1rem;color:var(--muted)}
.change-callouts .source-note{margin-top:20px;font-size:.8125rem!important}
@media(max-width:899px){.callouts-row{grid-template-columns:minmax(0,1fr);gap:28px}.callout-number,.callout-title{min-height:0}.callout-title{padding-bottom:0}}
/* v22: shared accessible tabs; all content remains visible without JavaScript. */
.tabs-bar{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:32px;border-bottom:1px solid var(--rule)}
.tab{border:0;border-bottom:3px solid transparent;min-height:48px;padding:12px 0;background:none;color:var(--foreground);opacity:.75;font:600 1rem/1.4 var(--font-body);cursor:pointer}
.tab[aria-selected="true"]{opacity:1;border-bottom-color:var(--link)}
.tab:focus-visible{outline-offset:-3px}
.tabs-enhanced>.protocol-map{margin-top:0;padding-top:28px;border-top:0}
.tabs-enhanced>[hidden]{display:none}
.tabs-panel:focus-visible{outline-offset:4px}

.change-2030{background:var(--sky);border:0;padding:clamp(24px,4vw,56px);margin-top:64px}
.change-callouts{margin-top:40px}
.callouts-row{align-items:stretch}
.change-callout{background:#fff;border:0;border-top:3px solid var(--blue-strong);padding:24px}
.callout-number,.callout-title{color:var(--blue-strong);font-family:var(--font-display)}
.principles ul{gap:32px}
.principles strong{font-size:1.125rem;line-height:1.35;font-weight:600}
.principles li p{font-size:1rem}
.track,.track.work,.track.people{grid-template-columns:minmax(0,1fr) minmax(0,4fr);gap:48px}
.track ol{grid-template-columns:repeat(5,minmax(0,1fr));gap:28px}
.track strong,.track.people strong{font:400 1.625rem/1.2 var(--font-display);color:var(--blue);font-style:normal}
.track p{font-size:.9375rem}
.product-grid{display:block}
.product-group ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.product-group{padding-top:24px}
.product-group h4{font-size:1.125rem}
.product-group .band-intro{max-width:none}
.stat-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}



.footer-col a{min-height:44px}
.mitigation-title{margin-top:32px;margin-bottom:16px;font-size:1.125rem}

@media(min-width:768px) and (max-width:1023px){.bring .chips{grid-template-columns:repeat(3,minmax(0,1fr))}.track,.track.work,.track.people{gap:24px}.track ol{gap:16px}}
@media(min-width:641px) and (max-width:899px){.principles ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
:root{--space-section:clamp(56px,7vw,104px)}
.section-title{margin-bottom:24px}
.transform-grid .section-title{margin-bottom:24px}
.change-2030{padding:20px}
.change-2030 thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.change-2030 tbody,.change-2030 tr,.change-2030 td{display:block;width:100%}
.change-2030 tr{border-top:1px solid var(--rule);padding-block:16px}
.change-2030 td,.change-2030 td:first-child{padding:0;border:0;font-size:1.0625rem}
.change-2030 td:first-child{margin-bottom:8px}
.topic-grid{grid-template-columns:minmax(0,1fr)}.topic-grid h3{font-size:1.375rem}
.track,.track.work,.track.people{grid-template-columns:minmax(0,1fr);gap:16px}
.track ol{grid-template-columns:minmax(0,1fr);gap:0}
.track li{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:12px;padding-block:12px;border-top:1px solid var(--rule)}
.track strong,.track.people strong{font-size:1.25rem;margin:0}
.offer-card{padding:24px}
.bring .chips{grid-template-columns:repeat(2,minmax(0,1fr))}
.product-group ul{grid-template-columns:minmax(0,1fr)}
.stat-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
.stat-tiles li{padding:16px}.stat-tiles strong{font-size:clamp(1.5rem,6vw,2rem)}
.navigation{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
.footer-links{grid-template-columns:minmax(0,1fr);gap:24px}
}
@media(max-width:640px){
.tabs-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:0}
.tab{min-width:0;min-height:44px;border:1px solid var(--rule);padding:10px 8px;font-size:.9375rem;opacity:1;text-align:center}

.tab[aria-selected="true"]{background:var(--link);border-color:var(--link);color:var(--navy)}
.light .tab[aria-selected="true"]{color:#fff}
.principles ul{grid-template-columns:minmax(0,1fr);gap:20px}
}
@media(max-width:899px){}
/* Mobile readability takes precedence over the 12px small-label default. */
@media(max-width:767px){
.track h3,.footer-col h2{font-size:.8125rem}
.footer-role{font-size:.8125rem!important}
.source-note a,.product-group strong>a,.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
}
@media print{.tabs-bar{display:none}.tabs-enhanced>[hidden]{display:block!important}}
/* v24: owner correction round; existing v21/v22 components retained. */
:root{--s-5:24px}
.thesis-sub{font:400 clamp(1.75rem,3vw,2.5rem)/1.15 var(--font-display);max-width:none}

.callout-number,.callout-title{font:400 clamp(1.75rem,2.6vw,2.25rem)/1.1 var(--font-display);color:var(--blue-strong);min-height:1.1em;align-items:baseline;padding-bottom:0}
.interaction-shift{margin-top:32px;padding-top:24px;border-top:1px solid var(--rule)}
.interaction-shift 
.interaction-lead{max-width:none}
.interaction-shift ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;padding:0;margin-top:24px}
.interaction-shift li{position:relative;min-width:0;border-top:1px solid var(--rule);padding:16px 16px 0 0}
.interaction-shift li::before{content:"";position:absolute;left:0;top:-4px;width:7px;height:7px;border-radius:50%;background:var(--blue-strong)}
.interaction-shift h4{font:600 1rem/1.4 var(--font-body);margin-bottom:8px}
.interaction-shift li p{font-size:.9375rem;color:var(--muted);margin:0}





.research h4{font:600 1rem/1.65 var(--font-body)}
@media(min-width:900px){.callout-title{white-space:nowrap}.research .role-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){#thesis .thesis-sub{white-space:nowrap}}
@media(max-width:1249px){
.interaction-shift ol{grid-template-columns:minmax(0,1fr)}
.interaction-shift li{border-top:0;border-left:1px solid var(--rule);padding:0 0 24px 20px}
.interaction-shift li:last-child{padding-bottom:0}
.interaction-shift li::before{left:-4px;top:7px}
}
@media(max-width:1023px){.transform-side{width:100%;max-width:520px}}
@media(max-width:899px){.research .role-list{grid-template-columns:minmax(0,1fr)}}
/* Restore v21's single-band bring layout at tablet/mobile as well. */
@media(max-width:1023px){.bring{grid-template-columns:minmax(0,1fr);gap:16px}}
.bring .chips{display:flex;flex-wrap:wrap;gap:8px}
@media print{.tabs-enhanced>.tabs-panel{display:block!important}.tabs-bar{display:none!important}}

/* v25 shared components: all uses resolve to these definitions. */
:root{--s-4:20px;--bg:#fff;--box-radius:0px;--eyebrow-size:.8125rem;--band-heading-size:1.75rem;--chip-size:.875rem}
body :is(.section-eyebrow,.stages-label,.reach-label,.callouts-label){display:block;margin:0 0 12px;color:var(--link);font:600 var(--eyebrow-size)/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.proof-band h3,.bring h3,.protocol-head h3{font:400 var(--band-heading-size)/1.2 var(--font-display);letter-spacing:-.01em}
.chips li>a,.chips li>span{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 12px;border:1px solid var(--link);border-radius:999px;color:var(--foreground);font-size:var(--chip-size);line-height:1.2;text-decoration:none}
.current{display:inline-block;margin-left:8px;padding:2px 8px;border:0;border-radius:999px;background:var(--sky);color:var(--blue-strong);font:600 .8125rem/1.4 var(--font-body);letter-spacing:0;text-transform:none;vertical-align:2px}
#transformation,#services{background:var(--bg)}
.multiplier{font-size:clamp(1.5rem,2.1vw,2rem)}
.multiplier span{max-width:none}
.change-2030{display:grid;gap:var(--s-4);padding:0;background:transparent}
.change-block{padding:clamp(24px,4vw,56px);background:var(--sky);border-radius:var(--box-radius)}
.change-2030>.interaction-shift,.change-2030>.change-callouts{margin:0;border:0}
.change-callout{background:var(--sky)}


.manifesto-copy{max-width:70ch!important;font-size:.9375rem!important}
.principles strong{font-size:clamp(1.375rem,1.8vw,1.4375rem);line-height:1.25;text-wrap:balance}
.principle-break{display:none}
#services .offer-card{background:var(--sky);border:0;border-radius:var(--box-radius)}
.bring{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;width:100%;padding-block:28px}
.bring-content h3{margin-bottom:20px}
.editorial-photo img{display:block;max-width:100%;width:100%;height:auto;object-fit:contain}
.editorial-photo figcaption{margin-top:8px;color:var(--muted);font-size:.8125rem}



.gallery:not(.justified) figure{aspect-ratio:auto}
.shot img{object-fit:contain}
@media(min-width:768px){.multiplier span:last-child{white-space:nowrap}}
@media(min-width:900px){.bring{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:40px}}
@media(min-width:1100px){.interaction-shift ol{grid-template-columns:minmax(0,1fr) max-content repeat(3,minmax(0,1fr));gap:16px}.interaction-shift li p{max-width:22ch}.interaction-shift li{padding-right:0}.interaction-shift h4{white-space:nowrap}.why-head h3{grid-column:1}.why-head p{grid-column:1;max-width:70ch}.principle-break{display:block}}
@media(max-width:767px){.change-block{padding:20px}}
@media(max-width:640px){.tab:last-child:nth-child(odd){grid-column:auto}}

/* v26 corrections: shared families retained; only requested components change. */
.multiplier{font-size:clamp(1.875rem,2.8vw,2.625rem);line-height:1.2}
.thesis-sub{color:var(--white)}
.panel-eyebrow{margin-top:var(--s-5)!important}
.manifesto-headers,.manifesto-map .protocol-layer{display:grid;grid-template-columns:minmax(0,22fr) minmax(0,30fr) minmax(0,48fr);gap:24px;align-items:start}
.manifesto-headers{font:600 var(--eyebrow-size)/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--link);padding-bottom:12px}
.manifesto-map .protocol-layer{padding-block:20px}
.manifesto-map .manifesto-principle{font:600 1rem/1.55 var(--font-body);color:var(--foreground);max-width:none}
.manifesto-map .manifesto-practice{font:.9375rem/1.55 var(--font-body);color:var(--muted);max-width:none}
.manifesto-practice strong{color:var(--foreground)}
.manifesto-span{grid-column:2/-1}
.principles-sub{margin:0 0 32px;max-width:none;white-space:normal;font:400 clamp(1.75rem,3vw,2.5rem)/1.15 var(--font-display);color:var(--white)}
.principle-future{grid-column:1/-1}
.stat-tiles strong{font-size:clamp(1.5rem,2.3vw,2rem)}
.bring{grid-template-columns:minmax(0,1fr)}
@media(max-width:899px){.manifesto-headers{display:none}.manifesto-map .protocol-layer{grid-template-columns:minmax(0,1fr);gap:12px}.manifesto-span{grid-column:auto}}

/* v27 corrections: Learning to Connect as six chapters; shared families retained. */
h4,.band-lead,.thesis-sub,.comparison-title,.principles strong,.callout-title{text-wrap:balance}
/* 1. Hero title */
.hero h1{font-size:clamp(3.75rem,7.6vw,7.25rem);line-height:1.02}
@media(min-width:768px){.hero h1{max-width:12ch}}
/* 2. Topics of now: larger number and title in the number's blue */
.topic-grid>li::before{font:400 clamp(2.25rem,3.2vw,3rem)/1 var(--font-display);margin-bottom:12px;color:var(--link)}
.topic-grid h3{color:var(--link)}
/* 3. Chapters */
.head-title{min-width:0}
.protocol-head>p{max-width:var(--head-width,620px)}
.protocol-head{align-items:start}
.chapter-index{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 0;margin:0;font-size:.9375rem}
.chapter-index-label{margin-right:16px;color:var(--muted);font-size:.875rem}
.chapter-index ul{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0}
.chapter-index li+li::before{content:"·";margin:0 10px;color:var(--rule)}
.chapter-index a{display:inline-flex;align-items:center;min-height:32px;color:var(--link);text-underline-offset:5px}
.group-lead{margin:0 0 4px;max-width:none;color:var(--foreground);font-size:1rem}
/* Step strip: the 2030 "How interactions shift" pattern (line + dots), six steps */
.step-strip ol{display:grid;grid-template-columns:minmax(0,1fr);list-style:none;padding:0;margin-top:20px}
.step-strip li{position:relative;min-width:0;border-left:1px solid var(--rule);padding:0 0 24px 20px}
.step-strip li:last-child{padding-bottom:0}
.step-strip li::before{content:"";position:absolute;left:-4px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--link)}
.step-strip h4{margin:0 0 8px;font:600 1rem/1.4 var(--font-body)}
.step-strip li p{margin:0;color:var(--muted);font-size:.9375rem}
@media(min-width:1100px){
.step-strip ol{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.step-strip li{border-left:0;border-top:1px solid var(--rule);padding:16px 0 0 0}
.step-strip li::before{left:0;top:-4px}
.step-strip h4{white-space:nowrap}
.step-strip li p{max-width:22ch}
}
@media(max-width:767px){.chapter-index a{min-height:44px}.chapter-index-label{flex-basis:100%;margin-bottom:0}}
/* 4. Sixth principle centred */
.principle-future{text-align:center}
/* Tabs on small screens: one-line labels where they fit, equal row heights always. */
@media(max-width:640px){.tabs-bar{grid-auto-rows:1fr}.tab{padding:10px 4px;font-size:.8125rem;letter-spacing:-.01em;display:flex;align-items:center;justify-content:center}}
.hero{padding-top:calc(var(--space-section) - var(--s-5))}
@media(max-width:767px){.chapter-index ul{flex-direction:column;flex-basis:100%}.chapter-index li+li::before{content:none}}
.principle-future strong{color:var(--blue);font-style:italic;font-family:var(--font-display);font-weight:400}


/* v28: larger closing principle; layer explanations share the row component. */
.principle-future strong{font-size:clamp(1.5rem,2.6vw,2.25rem);line-height:1.2}
#four-layers+.group-lead{color:var(--muted)}
.protocol-layer .explored-in{margin-top:8px;font-size:.875rem}
.explored-in>span{color:var(--muted);margin-right:8px}
.explored-in a{color:var(--blue);text-decoration:none}
.explored-in a:hover,.explored-in a:focus-visible{text-decoration:underline}
.manifesto-reference{margin-top:var(--s-5);font-size:1rem}
.lab .chips li>span.chip-ending{border:0;color:var(--muted);font-style:italic}

/* v33 — two-page structure; existing home components retain their styles. */
.page-home .chapter-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:32px 0}
.page-home .chapter-cards>li{position:relative;display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid var(--rule)}
.page-home .chapter-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px}
.page-home .chapter-cards h3{font-size:1.5rem;margin:0}
.page-home .chapter-arrow{flex:none;font-size:1.5rem;line-height:1.2;color:var(--link)}
@media(prefers-reduced-motion:no-preference){.page-home .chapter-arrow{transition:transform .15s ease}}
.page-home .chapter-cards li:hover .chapter-arrow,.page-home .chapter-cards li:has(a:focus-visible) .chapter-arrow{transform:translateX(4px)}
.page-home .chapter-cards h3 a{color:var(--link);text-decoration:none}
.page-home .chapter-cards h3 a::after{content:"";position:absolute;inset:0}
.page-home .chapter-cards h3 a:focus-visible{outline:none}
.page-home .chapter-cards li:has(a:focus-visible){outline:3px solid var(--link);outline-offset:5px}
.page-home .chapter-cards li:hover{border-color:var(--link)}
.page-home .chapter-cards p{font-size:1rem;color:var(--muted);margin:0;text-wrap:pretty}
.page-home .chapter-action{margin:0}
.page-home .topic-grid>li{display:flex;flex-direction:column}
.page-home .topic-chapter{display:block;margin-top:auto;padding-top:12px;color:var(--blue);font-size:.9375rem}
.page-ltc .back-home{display:inline-block;margin-bottom:32px;font-size:.9375rem}
.page-ltc .tag-list{list-style:none;padding:0;margin:0;color:var(--muted);font-size:.9375rem;line-height:1.6}
.page-ltc .tag-list li{display:inline}
.page-ltc .tag-list li+li::before{content:" · "}
.page-ltc .tabs-bar{scroll-margin-top:0} /* html scroll-padding-top:24px supplies the 24px landing offset */
.page-ltc h1.section-title{font-size:clamp(2.25rem,4vw,3.5rem);line-height:1.13;letter-spacing:-.02em}
@media(min-width:768px) and (max-width:1249px){.page-home .chapter-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.page-home .chapter-cards{grid-template-columns:minmax(0,1fr)}}
@media(min-width:641px) and (max-width:899px){.page-ltc .protocol-layer{grid-template-columns:minmax(0,1fr);gap:10px}}

/* v34 — short Topics chapter links; existing chips restored without new styling. */
.page-home .topic-chapter{font-weight:600;white-space:nowrap}

/* v36 — paired strips, decorative Lucide tiles and scripted-focus correction. */
[tabindex="-1"]:focus{outline:none}
.icon-tile{display:flex;flex:none;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:var(--sky);color:var(--blue-strong);margin-bottom:16px}
.icon-tile svg{display:block;width:24px;height:24px}
.interaction-shift .step-strip+.step-strip,.strategy-strips .step-strip+.step-strip{margin-top:32px;padding-top:32px;border-top:1px solid var(--rule)}
.strategy-strips{margin-top:24px}
.step-strip li::before{background:var(--blue-strong)}
.autonomy-strip li:first-child::before{background:transparent;border:1.5px solid var(--blue-strong)}
.autonomy-strip li:nth-child(2)::before{opacity:.35}
.autonomy-strip li:nth-child(3)::before{opacity:.5}
.autonomy-strip li:nth-child(4)::before{opacity:.65}
.autonomy-strip li:nth-child(5)::before{opacity:.8}
.autonomy-strip li:nth-child(6)::before{opacity:1}
.interaction-shift .step-strip li{border-top:0;border-left:1px solid var(--rule);padding:0 0 24px 20px}
.interaction-shift .step-strip li:last-child{padding-bottom:0}
.interaction-shift .step-strip li::before{left:-4px;top:7px}
@media(min-width:1100px){
.interaction-shift .interaction-strip ol,.strategy-strips .interaction-strip ol{grid-template-columns:minmax(0,1fr) max-content repeat(3,minmax(0,1fr));gap:16px}
.interaction-shift .autonomy-strip ol{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.interaction-shift .step-strip li{border-left:0;border-top:1px solid var(--rule);padding:16px 0 0}
.interaction-shift .step-strip li::before{left:0;top:-4px}
}

/* v37 — surface-scoped icon colours; legacy hash alias. */
.icon-tile{background:rgba(122,180,255,.16);color:var(--blue);border:0}
.light .icon-tile{background:var(--sky);color:var(--blue-strong)}
.hash-alias{display:block;height:0;overflow:hidden}

/* v38 — Agentic Commerce chapter, All chapters tile, group-level explored-in line. */
.page-home .chapter-cards>li.chapter-all{background:transparent;border:1px dashed var(--rule)}
.page-home .chapter-cards>li.chapter-all:hover{border-color:var(--link)}
.page-ltc .group-explored{margin-top:16px;font-size:.875rem}
@media(min-width:1100px){.page-home .chapter-cards>li{padding:20px}.page-home .chapter-cards p{font-size:.9375rem}}
.page-ltc .autonomy-strip>.explored-in{margin-top:20px;font-size:.875rem}

/* v39 — Agent Strategy in three parts, clustered index, lifecycle strip, one oval language. */
.chapter-index--clusters{display:block}
.chapter-index--clusters>.chapter-index-label{display:block;margin:0 0 4px}
.chapter-index-cluster{display:flex;flex-wrap:wrap;align-items:baseline}
.chapter-index-cluster .chapter-index-label{flex:0 0 auto;min-width:72px;margin-right:16px}
@media(max-width:899px){.chapter-index-cluster .chapter-index-label{flex-basis:100%;margin-right:0}}
@media(max-width:767px){.chapter-index-cluster{margin-top:8px}}
.lifecycle-strip ol{margin-top:20px}
@media(min-width:1100px){.lifecycle-strip ol{grid-template-columns:repeat(4,minmax(0,1fr))}.lifecycle-strip li p{max-width:34ch}}
.page-ltc .protocol-layers+.group-explored{margin-top:16px;font-size:.875rem}
/* Term ovals: neutral border, not interactive. Link ovals (.chips li>a) keep the blue border and arrow. */
.chips.chips--terms li>span{min-height:32px;padding:6px 12px;border:1px solid var(--rule);color:var(--foreground);cursor:default}
.lab .chips.chips--terms li>span.chip-ending{border:0;color:var(--muted);font-style:italic}
.page-ltc .protocol-layer>.chips--terms{align-self:center}

/* v40 — Connector K lock-up (mark + name + Learning to Connect), footer lock-up, LTC signature. */
.brand-lockup{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:var(--white);text-decoration:none}
.brand-mark{display:block;width:32px;height:32px;flex:0 0 32px}
.brand-text{display:flex;flex-direction:column;min-width:0}
.brand-name{font:1.5rem/1.2 var(--font-display)}
.brand-sub{margin-top:2px;color:var(--blue);font:600 .6875rem/1.2 var(--font-body);letter-spacing:.12em;text-transform:uppercase}
.footer-lockup{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:var(--muted);font:400 1rem/1.4 var(--font-body);text-decoration:none}
.footer-lockup:hover{color:var(--link);text-decoration:underline}
.footer-mark{display:block;width:24px;height:24px;flex:0 0 24px}

/* v44: one reading line, progressively enhanced, grouped seven-tab navigation. */
@media(min-width:1100px) and (max-width:1399px){.page-home .chapter-cards p{font-size:.875rem}}
@media(min-width:1100px){.page-ltc .protocol-head>p{max-width:none}}
.page-ltc .chapter-parts{display:flex;flex-wrap:nowrap;gap:24px;align-items:stretch;border:0}
.chapter-part{min-width:0;display:flex;flex-direction:column}
.chapter-part-label{display:block;margin:0 0 8px}
.chapter-part-tabs{display:flex;flex:1;gap:20px;border-bottom:1px solid var(--rule)}
.chapter-part-tabs .tab{display:flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}
.chapter-next{margin-top:var(--s-5);padding-top:16px;border-top:1px solid var(--rule);color:var(--muted);font-size:.875rem}
.chapter-next a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--link);font-size:1.125rem;text-decoration:none}
.chapter-next a:hover,.chapter-next a:focus-visible{text-decoration:underline}
.next-arrow{display:inline-block}
@media(prefers-reduced-motion:no-preference){.next-arrow{transition:transform .15s ease}.chapter-next a:hover .next-arrow,.chapter-next a:focus-visible .next-arrow{transform:translateX(4px)}}
@media(max-width:1249px){
.page-ltc .chapter-parts{display:flex;flex-direction:column;gap:20px}
.chapter-part-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:8px;border:0}
.chapter-part-tabs .tab{min-width:0;min-height:44px;border:1px solid var(--rule);padding:10px 4px;font-size:.8125rem;letter-spacing:-.01em;opacity:1;white-space:normal;text-align:center}
.chapter-part-tabs .tab[aria-selected="true"]{border-color:var(--link);background:var(--sky);color:var(--blue-strong)}
}
@media print{.page-ltc .chapter-parts{display:none!important}}

/* v45: one steady chapter frame; measured natural maxima via JS, no clipped text. */
.page-ltc .protocol-head{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}
.page-ltc .head-title{min-height:var(--chapter-title-height,0px);width:100%}
.page-ltc .protocol-head h3{margin:0}
.page-ltc .protocol-head>p{min-height:var(--chapter-head-height,0px);max-width:110ch;width:100%}
.page-ltc .chapter-index{display:block;min-height:var(--chapter-index-height,0px);margin:0}
.chapter-index-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}
.chapter-index-row .chapter-index-label{margin:0;flex-basis:auto}
.chapter-index-date{color:var(--muted);font-size:.875rem}
.page-ltc .chapter-index ul{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.page-ltc .chapter-index li+li::before{content:none}
.page-ltc .chapter-index a{display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border:1px solid var(--link);border-radius:999px;line-height:1.2;text-decoration:none}
.page-ltc .chapter-index a:hover,.page-ltc .chapter-index a:focus-visible{text-decoration:underline}
.page-ltc .interaction-shift{margin:0;padding:0;border:0;display:flow-root}
.page-ltc .interaction-shift .step-strip:first-child{margin:0}
.page-ltc .first-group{margin-top:32px!important}
.page-ltc .tabs-enhanced>.tabs-panel{min-height:calc(100vh - 24px)}
.page-ltc .tabs{overflow-anchor:none}
.page-ltc .chapter-final-group{border-bottom:0}
.page-ltc .chapter-final-group>.protocol-layer:last-child{border-bottom:0}
.page-ltc .chapter-part-tabs .tab{font-weight:600}
@media(min-width:1100px){#agentic-commerce .principles>ul{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:767px){.chapter-index-row{flex-direction:column;gap:0}.page-ltc .chapter-index a{min-height:44px}}
@media print{.page-ltc .head-title,.page-ltc .protocol-head>p,.page-ltc .chapter-index,.page-ltc .tabs-enhanced>.tabs-panel{min-height:0!important}}

/* v47 navigation (v50: icons removed; no active-state size changes). */
.page-ltc .chapter-part-tabs .tab{color:var(--muted);opacity:1}
@media(min-width:1250px){.page-ltc .chapter-parts{gap:16px}.page-ltc .chapter-part-tabs{gap:16px}.page-ltc .chapter-part-tabs .tab{font-size:.875rem}}
.page-ltc .tabs-panel [id]{scroll-margin-top:52px}
.chapter-bar{position:fixed;z-index:30;top:0;left:0;width:100%;height:52px;background:rgba(244,246,250,.96);border-bottom:1px solid var(--rule-light);box-shadow:0 1px 0 rgba(16,28,52,.04),0 6px 16px -12px rgba(16,28,52,.25);color:var(--ink);--link:var(--blue-strong);--muted:var(--muted-light);--rule:var(--rule-light);opacity:0;transform:translateY(-8px)}
.chapter-bar[hidden]{display:none!important}
.chapter-bar.is-visible{opacity:1;transform:translateY(0)}
.chapter-bar-inner{display:flex;align-items:center;gap:12px;height:100%;max-width:var(--max-width);width:calc(100% - 2 * var(--gutter));margin-inline:auto}
.chapter-bar-name{font:600 15px/1 var(--font-body);white-space:nowrap}
.chapter-bar-separator{color:var(--rule)}
.chapter-bar-group{font-size:14px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}
.chapter-bar-next{font-size:14px;color:var(--link);text-decoration:none;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.chapter-bar-next[hidden]{display:none}
.chapter-bar-chapters{font:600 13px/1 var(--font-body);color:var(--link);background:none;border:1px solid var(--link);border-radius:999px;padding:8px 14px;min-height:44px;white-space:nowrap;cursor:pointer}
.chapter-bar-progress{position:absolute;left:0;bottom:-1px;height:2px;background:var(--link)}
@media(max-width:639px){.chapter-bar-inner{gap:8px;width:calc(100% - 32px)}.chapter-bar-next{display:none}.chapter-bar-name{font-size:14px}.chapter-bar-chapters{padding-inline:10px}}
@media(prefers-reduced-motion:no-preference){.chapter-bar{transition:opacity 150ms ease,transform 150ms ease}}
@media print{.chapter-bar{display:none!important}}


/* v48 owner: lift existing questions into visible layer prompts. */
.page-ltc .protocol-layer .layer-question{font:400 19px/1.3 var(--font-display);color:inherit;margin:4px 0 8px}
@media(max-width:767px){.page-ltc .protocol-layer .layer-question{font-size:17px}}

/* v49: eight chapter cards; full-page link below the grid. */
@media(min-width:1100px){.page-home .chapter-cards p{font-size:15px}}
.page-home .chapter-cards:has(+.chapter-full){margin-bottom:0}
.page-home .chapter-full{padding-top:0;margin-top:24px}

.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
/* v50: no chapter icons. Nine tabs in one row from 1100px (measured); stacked below. */
@media(max-width:1249px){
.page-ltc .chapter-parts{display:flex;flex-direction:column;gap:20px}
.page-ltc .chapter-part-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:8px;border:0}
.page-ltc .chapter-part-tabs .tab{min-width:0;min-height:44px;border:1px solid var(--rule);padding:10px 4px;font-size:.8125rem;letter-spacing:-.01em;opacity:1;white-space:normal;text-align:center}
.page-ltc .chapter-part-tabs .tab[aria-selected="true"]{border-color:var(--link);background:var(--sky);color:var(--blue-strong)}
}
@media(min-width:1250px){.page-ltc .chapter-parts{gap:24px}.page-ltc .chapter-part{flex-shrink:0}.page-ltc .chapter-part-tabs{gap:16px}}
/* v50: nine home cards: 3 x 3 from 1100px; 2 columns with the ninth card spanning below. */
@media(min-width:1100px){.page-home .chapter-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:768px) and (max-width:1249px){.page-home .chapter-cards>li:last-child:nth-child(odd){grid-column:1/-1}}

/* v52 — static coding patterns and complementary application domains. */
@media(min-width:768px){.page-home .chapter-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.page-ltc .agent-domains{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.page-ltc .domain-card{color:var(--ink);--foreground:var(--ink);--muted:var(--muted-light);--link:var(--blue-strong);--rule:var(--rule-light);padding:24px;border:1px solid var(--rule);background:var(--sky);display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.page-ltc .domain-card h4{font-size:1.5rem;margin:8px 0 12px}
.page-ltc .domain-card p{font-size:1rem;margin:0 0 24px}
.page-ltc .domain-card .chips{margin-top:auto}
.page-ltc .domain-foundation{max-width:none;width:100%;border:1px solid var(--rule);border-top:0;padding:14px 20px;text-align:center;font-size:.9375rem;color:var(--link);margin-top:0}
.page-ltc .coding-patterns{margin:24px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
.page-ltc .coding-pattern{border-top:1px solid var(--rule);padding:18px 0 20px;min-width:0}
.page-ltc .coding-pattern dt{font-weight:600;color:var(--link);font-size:1.0625rem;line-height:1.4;margin-bottom:6px}
.page-ltc .coding-pattern dd{font-size:1rem;line-height:1.6;margin:0;color:var(--muted)}
.page-ltc .coding-note{font-size:.875rem;color:var(--muted);margin-top:24px}
@media(max-width:767px){.page-ltc .agent-domains,.page-ltc .coding-patterns{grid-template-columns:minmax(0,1fr)}.page-ltc .domain-card{padding:20px}.page-ltc .domain-foundation{text-align:left}}
@media print{.page-ltc .domain-card,.page-ltc .coding-pattern{break-inside:avoid}}

/* v53 — chapter figures. One light-blue diagram language for Layered Strategy, Where agents can work,
   Agentic Coding and Universal carts. Light-blue panel, tinted blue surfaces, navy foundation surfaces,
   the page's own Lucide icon tiles, dashed blue connectors. Static: no animation. */
.page-ltc .ltc-figure{--foreground:var(--ink);--muted:#3d4b68;--link:var(--blue-strong);--rule:rgba(28,63,158,.22);--figure-surface:rgba(28,63,158,.07);--figure-card:rgba(28,63,158,.07);--figure-line:rgba(28,63,158,.26);--figure-connector:var(--blue-strong);position:relative;margin:24px 0 40px;padding:clamp(20px,3vw,40px);color:var(--ink);background:linear-gradient(155deg,#e0ecfd 0%,#d0e2fa 55%,#c3d8f7 100%)}
.page-ltc .ltc-figure p{max-width:none}
.page-ltc .ltc-figure .icon-tile{background:#1f3051;color:var(--blue)}
.page-ltc .ltc-figure .explored-in a{color:var(--link)}
.page-ltc .ltc-figure .chips.chips--terms li>span{border-color:var(--figure-line)}
/* Navy foundation surfaces inside a figure: same tokens as the rest of the page. */
.page-ltc .ltc-figure :is(.domain-foundation,.coding-band--foundations,.layer-slab--platform,.cart-step--core){--foreground:var(--white);--muted:var(--muted-dark);--link:var(--blue);--rule:var(--rule-dark);--figure-card:rgba(122,180,255,.09);--figure-line:rgba(122,180,255,.34);color:var(--white);background:var(--navy-layer);border-color:var(--navy-layer)}
.page-ltc .ltc-figure :is(.domain-foundation,.coding-band--foundations,.layer-slab--platform,.cart-step--core) .icon-tile{background:rgba(122,180,255,.16)}
.page-ltc .figure-caption{display:flex;align-items:center;gap:10px;margin:0 0 16px;color:var(--muted);font-size:.9375rem}
.page-ltc .figure-caption-arrow{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1.5px solid var(--figure-connector);border-radius:50%;color:var(--figure-connector);font-size:.8125rem;line-height:1}

/* Layered Strategy: four stacked layers, light at the top, navy at the foundation. */
.page-ltc .layer-stack{position:relative;list-style:none;margin:0;padding:0 0 0 36px;display:grid;gap:10px}
.page-ltc .layer-stack::before{content:"";position:absolute;left:11px;top:8px;bottom:24px;border-left:2px dashed var(--figure-connector)}
.page-ltc .layer-stack::after{content:"";position:absolute;left:6px;top:0;border:6px solid transparent;border-top:0;border-bottom:9px solid var(--figure-connector)}
.page-ltc .layer-slab{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:20px;padding:16px 20px;background:var(--figure-surface);border:1px solid var(--figure-line)}
.page-ltc .layer-slab::before{content:"";position:absolute;left:-29px;top:50%;width:7px;height:7px;border-radius:50%;background:var(--figure-connector);transform:translateY(-50%)}
.page-ltc .layer-slab .icon-tile{margin:0}
.page-ltc .layer-slab-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.page-ltc .layer-slab-name{font-weight:600;font-size:1rem;line-height:1.4}
.page-ltc .layer-slab-question{font:400 1.1875rem/1.3 var(--font-display)}
.page-ltc .layer-slab-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0}
.page-ltc .layer-slab-links a{display:inline-flex;align-items:center;min-height:32px;padding:6px 12px;border:1px solid var(--link);border-radius:999px;color:var(--foreground);font-size:.875rem;line-height:1.2;text-decoration:none}
.page-ltc .layer-slab-links a:hover,.page-ltc .layer-slab-links a:focus-visible{background:color-mix(in srgb,var(--link) 16%,transparent)}
.page-ltc .layer-slab--agentic{--figure-surface:rgba(28,63,158,.14)}
.page-ltc .layer-slab--data{--figure-surface:rgba(28,63,158,.22);--figure-line:rgba(28,63,158,.4)}

/* Where agents can work: three domains, connected to one shared foundation. */
.page-ltc .domains-figure .agent-domains{margin-top:0}
.page-ltc .domains-figure .domain-card{position:relative;background:var(--figure-surface);border:1px solid var(--figure-line)}
.page-ltc .domains-figure .domain-card::after{content:"";position:absolute;left:50%;top:100%;height:28px;border-left:2px dashed var(--figure-connector)}
.page-ltc .domains-figure .domain-card::before{content:"";position:absolute;left:calc(50% - 3px);bottom:-4px;width:7px;height:7px;border-radius:50%;background:var(--figure-connector)}
.page-ltc .domains-figure .domain-foundation{max-width:none;width:100%;margin:28px 0 0;padding:clamp(20px,2.5vw,28px);border:0;text-align:left;font-size:1rem}
.page-ltc .domain-foundation-label{margin:0 0 6px;color:var(--blue);font:600 var(--eyebrow-size)/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.page-ltc .domain-foundation-title{margin:0 0 20px;font:400 clamp(1.375rem,2vw,1.625rem)/1.25 var(--font-display);color:var(--white)}
.page-ltc .foundation-parts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.page-ltc .foundation-parts>li{display:flex;gap:14px;align-items:flex-start;padding-top:16px;border-top:1px solid var(--rule);min-width:0}
.page-ltc .foundation-parts .icon-tile{margin:0}
.page-ltc .foundation-parts strong{display:block;margin-bottom:4px;font-size:1.0625rem}
.page-ltc .foundation-parts p{margin:0;color:var(--muted);font-size:.9375rem;line-height:1.55}
.page-ltc .foundation-parts .explored-in{display:flex;flex-wrap:wrap;gap:2px 12px;margin-top:8px;font-size:.875rem}
.page-ltc .foundation-parts .explored-in>*{white-space:nowrap}
.page-ltc .foundation-parts p:not(.explored-in){color:#c4cee0}

/* Agentic Coding: the pattern map. One foundational band, four groups building on it. */
.page-ltc .coding-figure{display:grid;gap:14px;margin-top:32px}
.page-ltc .coding-band{min-width:0;padding:16px;background:var(--figure-surface);border:1px solid var(--figure-line)}
.page-ltc .coding-band-head{display:inline-flex;align-items:center;gap:12px;margin-bottom:14px;color:var(--foreground);font-weight:600;font-size:1rem;line-height:1.3;text-decoration:none}
.page-ltc .coding-band-head .icon-tile{width:36px;height:36px;border-radius:10px;margin:0}
.page-ltc .coding-band-head .icon-tile svg{width:20px;height:20px}
.page-ltc .coding-band-head:hover>span:last-child,.page-ltc .coding-band-head:focus-visible>span:last-child{text-decoration:underline;text-underline-offset:5px}
.page-ltc .pattern-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.page-ltc .pattern-cards li{display:flex;min-width:0}
.page-ltc .pattern-cards a{display:flex;align-items:center;width:100%;min-height:52px;padding:9px 12px;border:1px solid var(--figure-line);border-radius:8px;background:var(--figure-card);color:var(--foreground);font-size:.875rem;line-height:1.3;text-decoration:none;overflow-wrap:normal;hyphens:manual}
.page-ltc .pattern-cards a:hover,.page-ltc .pattern-cards a:focus-visible{border-color:var(--link);background:color-mix(in srgb,var(--link) 14%,transparent)}
.page-ltc .coding-band--foundations .pattern-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.page-ltc .coding-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(min-width:1100px){.page-ltc .coding-groups{grid-template-columns:repeat(4,minmax(0,1fr))}.page-ltc .coding-groups .pattern-cards{grid-template-columns:minmax(0,1fr)}.page-ltc .coding-groups .pattern-cards a{min-height:44px}}
@media(min-width:1360px){.page-ltc .coding-band--foundations .pattern-cards{grid-template-columns:repeat(8,minmax(0,1fr))}.page-ltc .coding-band--foundations .pattern-cards a{min-height:68px}}

/* Universal carts: add from anywhere, the cart keeps working, check out. */
.page-ltc .cart-figure{margin-top:20px}
.page-ltc .cart-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr);gap:52px;align-items:stretch}
.page-ltc .cart-step{position:relative;display:flex;flex-direction:column;gap:12px;min-width:0;padding:20px;background:var(--figure-surface);border:1px solid var(--figure-line)}
.page-ltc .cart-step+.cart-step::before{content:"";position:absolute;right:calc(100% + 14px);top:50%;width:26px;border-top:2px dashed var(--figure-connector)}
.page-ltc .cart-step+.cart-step::after{content:"";position:absolute;right:calc(100% + 8px);top:calc(50% - 5px);border:6px solid transparent;border-right:0;border-left:9px solid var(--figure-connector)}
.page-ltc .cart-step-head{display:flex;align-items:center;gap:12px}
.page-ltc .cart-step-head .icon-tile{margin:0}
.page-ltc .cart-step strong{font-size:1.125rem;line-height:1.3}
.page-ltc .cart-step p{margin:0;color:var(--muted);font-size:.9375rem;line-height:1.55}
.page-ltc .cart-step .chips{margin-top:auto}
.page-ltc .cart-tasks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.page-ltc .cart-tasks li{position:relative;padding-left:20px;font-size:.9375rem;line-height:1.5}
.page-ltc .cart-tasks li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--blue)}
.page-ltc .cart-step .cart-note{margin-top:auto;padding-top:12px;border-top:1px solid var(--figure-line);color:var(--foreground);font-size:.875rem;font-weight:600}
.page-ltc .cart-figure+.protocol-layers{margin-top:8px}
.page-ltc .protocol-layers+.source-note{margin-top:16px}

@media(max-width:1099px){.page-ltc .layer-slab{grid-template-columns:48px minmax(0,1fr)}.page-ltc .layer-slab-links{grid-column:2;justify-content:flex-start}}
@media(max-width:899px){
.page-ltc .cart-flow{grid-template-columns:minmax(0,1fr);gap:32px}
.page-ltc .cart-step+.cart-step::before{right:auto;left:50%;top:auto;bottom:calc(100% + 9px);width:0;height:22px;border-top:0;border-left:2px dashed var(--figure-connector)}
.page-ltc .cart-step+.cart-step::after{right:auto;left:calc(50% - 4.5px);top:auto;bottom:calc(100% + 1px);border:5.5px solid transparent;border-bottom:0;border-top:8px solid var(--figure-connector)}
.page-ltc .foundation-parts{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:767px){
.page-ltc .domains-figure .domain-card:not(:last-child)::after,.page-ltc .domains-figure .domain-card:not(:last-child)::before{content:none}
.page-ltc .coding-groups{grid-template-columns:minmax(0,1fr)}
.page-ltc .coding-band--foundations .pattern-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.page-ltc .layer-stack{padding-left:28px}
.page-ltc .layer-stack::before{left:7px}
.page-ltc .layer-stack::after{left:2px}
.page-ltc .layer-slab{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}
.page-ltc .layer-slab::before{left:-24px}
.page-ltc .layer-slab-links{grid-column:auto}
.page-ltc .layer-slab-question{font-size:1.0625rem}
}
@media(max-width:479px){.page-ltc .pattern-cards,.page-ltc .coding-band--foundations .pattern-cards{grid-template-columns:minmax(0,1fr)}.page-ltc .pattern-cards a{min-height:44px}}
@media print{.page-ltc .ltc-figure{-webkit-print-color-adjust:exact;print-color-adjust:exact}.page-ltc .ltc-figure :is(.layer-slab,.domain-card,.coding-band,.cart-step){break-inside:avoid}}

/* v54 — one visual grammar for every figure, taken from the homepage (Principles, the 2030 panel, the step strips,
   the isometric art): flat surfaces without outlines, gradients or shadows; open units marked by an accent top rule;
   surface-scoped icon tiles; dashed vertical lines only for "stands on"; the step-strip rule and dots for sequences;
   tags as flat fills; "Explored in" as text links in one fixed place. Every unit is clickable as a whole. */

/* Sequence dots, site-wide: the surface's own accent (blue-strong on light, #7ab4ff on navy), so the dots on navy
   strips read as clearly as on light ones and match the agent dots in the hero network. */
.step-strip li::before{background:var(--link)}
.autonomy-strip li:first-child::before{background:transparent;border-color:var(--link)}

/* Homepage chapter cards: flat filled units like every other clickable unit on the site, no hairline box. */
.page-home .chapter-cards>li{border:0;background:rgba(122,180,255,.06);transition:background-color .2s ease}
.page-home .chapter-cards>li:hover{background:rgba(122,180,255,.1)}
.page-home .chapter-cards>li.chapter-all{border:0;border-top:1px solid var(--link);background:none}

/* Tags, site-wide: flat fill instead of a hairline oval. */
.chips.chips--terms li>span{border-color:transparent;background:color-mix(in srgb,var(--link) 12%,transparent)}
.lab .chips.chips--terms li>span.chip-ending{background:none}

.page-ltc .ltc-figure{--figure-unit:#fafcff;--figure-unit-hover:#fff;--figure-rule:var(--rule-light);background:var(--sky)}
.page-ltc .ltc-figure .icon-tile{background:rgba(28,63,158,.10);color:var(--blue-strong)}
.page-ltc .ltc-figure :is(.domain-foundation,.coding-band--foundations,.layer-slab--platform) .icon-tile{background:rgba(122,180,255,.16);color:var(--blue)}
.page-ltc .ltc-figure :is(.domain-foundation,.coding-band--foundations,.layer-slab--platform){--figure-unit:var(--navy-layer);--figure-unit-hover:#15223f}
/* Navy is reserved for foundations (always at the bottom). The cart's middle step is a regular light unit. */
.page-ltc .ltc-figure .cart-step--core{--foreground:var(--ink);--muted:var(--muted-light);--link:var(--blue-strong);color:var(--ink);background:var(--figure-unit)}
.page-ltc .ltc-figure .cart-step--core .icon-tile{background:rgba(28,63,158,.10);color:var(--blue-strong)}
.page-ltc .ltc-figure .cart-step--core .cart-tasks li::before{background:var(--blue-strong)}
.page-ltc .ltc-figure :is(.layer-slab,.domain-card,.coding-band,.cart-step,.pattern-cards a){border:0}
.page-ltc .ltc-figure .chips.chips--terms li>span{border-color:transparent}
.page-ltc .figure-caption-arrow{display:none}

/* Explored in: same text-link treatment as the layer rows below the figures, always the last line of a unit. */
/* Label on its own line, links side by side: the same form at every width, wraps only between links. */
.page-ltc .ltc-figure .explored-in{display:flex;flex-wrap:wrap;column-gap:16px;row-gap:2px;margin:16px 0 0;font-size:.875rem;line-height:1.55;color:var(--muted)}
.page-ltc .ltc-figure .explored-in>span{flex-basis:100%;margin:0;color:var(--muted);font-size:.8125rem}
.page-ltc .ltc-figure .explored-in a{position:relative;z-index:1;color:var(--link);text-decoration:none;white-space:nowrap}
.page-ltc .ltc-figure .explored-in a:hover,.page-ltc .ltc-figure .explored-in a:focus-visible{text-decoration:underline;text-underline-offset:3px}

/* Whole unit clickable: the title is the link and stretches over its unit. */
.page-ltc .ltc-figure :is(.layer-slab,.domain-card,.foundation-parts>li,.cart-step){position:relative;transition:background-color .2s ease}
.page-ltc .figure-link{color:inherit;text-decoration:none}
.page-ltc .figure-link::after{content:"";position:absolute;inset:0;z-index:0}
.page-ltc .figure-link:focus-visible{outline:none}
.page-ltc .figure-link:focus-visible::after{outline:2px solid var(--link);outline-offset:2px}
.page-ltc .ltc-figure :is(.layer-slab,.domain-card,.foundation-parts>li,.cart-step):hover .figure-link{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.page-ltc .ltc-figure :is(.layer-slab,.domain-card,.cart-step):hover{background:var(--figure-unit-hover)}

/* Layered Strategy: four flat layers, light at the top and navy at the foundation. No rail, no arrow. */
.page-ltc .layer-stack{padding:0;gap:6px}
.page-ltc .layer-stack::before,.page-ltc .layer-stack::after,.page-ltc .layer-slab::before{content:none}
.page-ltc .layer-slab{grid-template-columns:48px minmax(0,1fr);align-items:start;gap:20px;padding:20px 24px;background:var(--figure-unit)}
.page-ltc .layer-slab--agentic{--figure-unit:#d5e3f8;--figure-unit-hover:#dce8fa}
.page-ltc .layer-slab--data{--figure-unit:#bed3f3;--figure-unit-hover:#c7d9f5}
.page-ltc .layer-slab-text{gap:4px}
.page-ltc .layer-slab .explored-in{margin-top:8px}

/* Where agents can work: three flat units standing on the navy foundation (dashed lines as in the homepage art). */
.page-ltc .domains-figure .agent-domains{gap:24px}
.page-ltc .domains-figure .domain-card{background:var(--figure-unit)}
.page-ltc .domains-figure .domain-card::before{content:none}
.page-ltc .domains-figure .domain-card .explored-in{margin-top:16px}
@media(min-width:768px){
.page-ltc .domains-figure .agent-domains{row-gap:0;column-gap:24px}
.page-ltc .domains-figure .domain-card{display:grid;grid-row:span 5;grid-template-rows:subgrid;align-content:start}
.page-ltc .domains-figure .domain-card>.chips{align-self:start;margin-top:0}
}
.page-ltc .foundation-parts{gap:28px}
.page-ltc .foundation-parts>li{padding-top:16px;border-top:1px solid var(--link)}
.page-ltc .foundation-parts>li>div{flex-direction:column;min-width:0}
.page-ltc .foundation-parts .explored-in{margin-top:12px;padding-top:0}
@media(min-width:900px){
.page-ltc .foundation-parts{row-gap:0}
.page-ltc .foundation-parts>li{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:subgrid;grid-row:span 3;column-gap:14px;align-content:start}
.page-ltc .foundation-parts>li>.icon-tile{grid-row:1 / span 3;align-self:start}
.page-ltc .foundation-parts>li>div{display:contents}
.page-ltc .foundation-parts>li>div>*{grid-column:2}
}
.page-ltc .foundation-parts .explored-in a{white-space:nowrap}

/* Agentic Coding: navy foundational band, four open groups with an accent top rule, flat pattern tiles. */
.page-ltc .coding-figure{gap:28px}
/* One icon tile across the site (48px, radius 12, 24px glyph) and one title weight (600, as on the homepage). */
.page-ltc .coding-band-head{gap:16px}
.page-ltc .coding-band-head .icon-tile{width:48px;height:48px;border-radius:12px}
.page-ltc .coding-band-head .icon-tile svg{width:24px;height:24px}
.page-ltc .ltc-figure :is(.domain-card h4,.cart-step strong,.foundation-parts strong){font-weight:600}
/* The four groups stand on the foundational band: the same dashed connector as Where agents can work. */
.page-ltc .ltc-figure .coding-groups .coding-band{position:relative;display:flex;flex-direction:column}
.page-ltc .coding-groups{align-items:stretch}
/* The connector runs from each group's last pattern down to the foundation, so every group visibly stands on it. */
.page-ltc .coding-groups .coding-band::after{content:"";display:block;flex:1 0 auto;align-self:center;min-height:28px;margin:12px 0 -28px;border-left:2px dashed var(--figure-connector)}
/* Below 1280 the four groups sit 2 x 2 for breathing room; only the bottom row reaches down to the foundation. */
@media(min-width:768px) and (max-width:1279px){.page-ltc .coding-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1279px){.page-ltc .coding-groups .coding-band:nth-child(-n+2)::after{content:none}}
@media(max-width:767px){.page-ltc .coding-groups .coding-band:not(:last-child)::after{content:none}}
.page-ltc .coding-band--foundations{padding:20px 24px}
@media(min-width:1360px){.page-ltc .coding-band--foundations .pattern-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.page-ltc .coding-band--foundations .pattern-cards a{min-height:52px}}
.page-ltc .coding-groups{gap:24px}
.page-ltc .ltc-figure .coding-groups .coding-band{padding:16px 0 0;background:none;border-top:1px solid var(--link)}
.page-ltc .pattern-cards a{border-radius:0;background:var(--figure-unit);transition:background-color .2s ease}
.page-ltc .pattern-cards a:hover,.page-ltc .pattern-cards a:focus-visible{background:var(--figure-unit-hover);text-decoration:underline;text-underline-offset:3px}
.page-ltc .coding-band--foundations .pattern-cards a{background:rgba(122,180,255,.10)}
.page-ltc .coding-band--foundations .pattern-cards a:hover,.page-ltc .coding-band--foundations .pattern-cards a:focus-visible{background:rgba(122,180,255,.18)}

/* Universal carts: a sequence uses the step-strip language (one rule, a dot per step), no arrows. */
.page-ltc .cart-step+.cart-step::before,.page-ltc .cart-step+.cart-step::after{content:none}
.page-ltc .cart-flow{gap:24px;padding-top:28px}
.page-ltc .cart-step{padding:20px 24px;background:var(--figure-unit)}
.page-ltc .cart-flow>.cart-step::before{content:"";position:absolute;left:0;right:0;top:-28px;width:auto;height:0;border:0;border-top:1px solid var(--figure-rule);background:none}
.page-ltc .cart-flow>.cart-step::after{content:"";position:absolute;left:0;right:auto;top:-31px;width:7px;height:7px;border:0;border-radius:50%;background:var(--blue-strong)}
.page-ltc .cart-step .chips{margin-top:0}
.page-ltc .cart-step .cart-note{margin-top:0;padding-top:0;border-top:0}
.page-ltc .cart-step .explored-in{margin-top:auto;padding-top:4px}
.page-ltc .cart-tasks li::before{width:6px;height:6px;top:.6em;border:0;background:var(--blue)}

@media(max-width:899px){
.page-ltc .cart-flow{gap:20px;padding:0 0 0 24px}
.page-ltc .cart-flow>.cart-step::before{left:-24px;right:auto;top:0;bottom:-20px;height:auto;border-top:0;border-left:1px solid var(--figure-rule)}
.page-ltc .cart-flow>.cart-step:last-child::before{bottom:0}
.page-ltc .cart-flow>.cart-step::after{left:-27px;top:26px}
.page-ltc .foundation-parts{gap:20px}
.page-ltc .foundation-parts>li{display:flex;gap:14px}
.page-ltc .foundation-parts>li>div{display:flex}
}
@media(max-width:767px){
.page-ltc .layer-slab{grid-template-columns:minmax(0,1fr);gap:12px;padding:18px}
.page-ltc .domains-figure .agent-domains{gap:16px}
.page-ltc .foundation-parts>li{flex-direction:column;gap:12px}
}

/* v54 — premium motion layer.
   Everything is scoped to html.motion, which a one-line <head> script sets only when the visitor has not asked
   for reduced motion. No-JS, reduced motion and print therefore render exactly the v53 page.
   References: Linear (calm, stepwise build-up), Stripe (moving connections, living gradients),
   Rauno Craft (blur reveal, staggered text, toolbar morph). Lusion-style accent: hero network (separate block). */
:root{--ease-out:cubic-bezier(.22,1,.36,1);--ease-io:cubic-bezier(.65,0,.35,1)}
.transform-art .art-pulses{display:none}
html.motion .transform-art .art-pulses{display:inline}
@keyframes m-blur-in{from{opacity:0;filter:blur(10px);transform:translateY(.3em)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes m-soft-in{from{opacity:0;filter:blur(6px)}to{opacity:1;filter:blur(0)}}
@keyframes m-photo-in{from{opacity:0;filter:blur(8px);transform:scale(1.025)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes m-pop{0%{transform:scale(0)}55%{transform:scale(1.7)}100%{transform:scale(1)}}
@keyframes m-flow-y{from{background-position:0 -60%,0 0}to{background-position:0 160%,0 24px}}
@keyframes m-flow-up{from{background-position:0 160%,0 24px}to{background-position:0 -60%,0 0}}
@keyframes m-flow-x{from{background-position:-60% 0,0 0}to{background-position:160% 0,24px 0}}
@keyframes m-dash{to{stroke-dashoffset:-26}}
@keyframes m-drop{0%{transform:translateY(0);opacity:0}12%{opacity:1}80%{opacity:1}100%{transform:translateY(var(--len));opacity:0}}
@keyframes m-drift{from{background-position:0% 0%}to{background-position:100% 100%}}
@keyframes m-bar-morph{from{clip-path:inset(0 calc(50% - 140px) 0 calc(50% - 140px) round 26px);opacity:.4}to{clip-path:inset(0 0 0 0 round 0);opacity:1}}

/* 1 · Hero entrance: staggered words, then copy, CTA, photo and stages (CSS-only, so it never depends on site.js). */
html.motion .page-home .hero-text>*{animation:m-blur-in 900ms var(--ease-out) both;animation-delay:var(--d,0ms)}
html.motion .page-home .hero-role{--d:80ms}
html.motion .page-home .hero-text h1{animation:none}
html.motion .page-home .hero-text h1 .w{display:inline-block;animation:m-blur-in 1000ms var(--ease-out) both;animation-delay:calc(180ms + var(--i) * 90ms)}
html.motion .page-home .hero-copy{--d:620ms}
html.motion .page-home .hero-copy+p{--d:700ms}
html.motion .page-home .hero-text .button{--d:780ms}
html.motion .page-home .hero-photo{animation:m-photo-in 1400ms var(--ease-out) 260ms both}
html.motion .page-home .hero .stages{animation:m-soft-in 900ms var(--ease-out) 1000ms both}

/* 2 · Blur reveal (one time, when an element enters the viewport). "soft" = no movement, for anything that is measured or anchored. */
html.motion [data-reveal]{transition:opacity 760ms var(--ease-out),filter 760ms var(--ease-out),transform 1000ms var(--ease-out);transition-delay:calc(var(--ri,0) * 80ms)}
html.motion [data-reveal]:not(.is-in){opacity:0;filter:blur(8px);transform:translateY(18px)}
html.motion [data-reveal="soft"]:not(.is-in){transform:none}
html.motion [data-reveal="frame"]:not(.is-in){opacity:1;filter:none;transform:none}

/* 3 · Linear-style build-up: the interaction and autonomy strips tell their story step by step. */
html.motion [data-reveal="steps"]:not(.is-in){opacity:1;filter:none;transform:none}
html.motion [data-reveal="steps"] li{transition:opacity 700ms var(--ease-out),filter 700ms var(--ease-out),transform 900ms var(--ease-out);transition-delay:calc(160ms + var(--si,0) * 150ms)}
html.motion [data-reveal="steps"]:not(.is-in) li{opacity:0;filter:blur(6px);transform:translateX(-12px)}
html.motion [data-reveal="steps"].is-in li::before{animation:m-pop 700ms var(--ease-out) both;animation-delay:calc(160ms + var(--si,0) * 150ms)}

/* The 2030 comparison: existing IT first, agentic systems arrive next to it. */
html.motion [data-reveal="compare"]:not(.is-in){opacity:1;filter:none;transform:none}
html.motion [data-reveal="compare"] tbody td{transition:opacity 700ms var(--ease-out),filter 700ms var(--ease-out),transform 900ms var(--ease-out);transition-delay:calc(120ms + var(--si,0) * 110ms)}
html.motion [data-reveal="compare"] tbody td+td{transition-delay:calc(420ms + var(--si,0) * 110ms)}
html.motion [data-reveal="compare"]:not(.is-in) tbody td{opacity:0;filter:blur(5px)}
html.motion [data-reveal="compare"]:not(.is-in) tbody td+td{transform:translateX(16px)}

/* 4 · "People, agents and IT": the isometric art assembles, then direction flows from the span into the structures. */
html.motion .transform-art g[class^="art-"]{transition:opacity 800ms var(--ease-out),transform 1100ms var(--ease-out)}
html.motion .transform-art[data-reveal]:not(.is-in){opacity:1;filter:none;transform:none}
html.motion .transform-art:not(.is-in) .art-ground{opacity:0}
html.motion .transform-art:not(.is-in) .art-base{opacity:0;transform:translateY(30px)}
html.motion .transform-art:not(.is-in) :is(.art-b1,.art-b2,.art-b3){opacity:0;transform:translateY(48px)}
html.motion .transform-art:not(.is-in) .art-span{opacity:0;transform:translateY(-44px)}
html.motion .transform-art:not(.is-in) :is(.art-links,.art-pulses){opacity:0}
html.motion .transform-art.is-in .art-base{transition-delay:120ms}
html.motion .transform-art.is-in .art-b1{transition-delay:380ms}
html.motion .transform-art.is-in .art-b2{transition-delay:520ms}
html.motion .transform-art.is-in .art-b3{transition-delay:660ms}
html.motion .transform-art.is-in .art-span{transition-delay:980ms}
html.motion .transform-art.is-in .art-links{transition-delay:1400ms}
html.motion .transform-art.is-in .art-pulses{transition-delay:1800ms}
html.motion .transform-art .art-links path{animation:m-dash 1.6s linear infinite;animation-play-state:paused}
html.motion .transform-art .art-pulses circle{fill:#1c3f9e;stroke:rgba(122,180,255,.55);stroke-width:7;opacity:0;animation:m-drop 3.4s var(--ease-io) infinite;animation-delay:var(--pd);animation-play-state:paused}
html.motion .transform-art.is-live .art-links path,html.motion .transform-art.is-live .art-pulses circle{animation-play-state:running}

/* 5 · Chapter figures (v53): build-up order that follows the meaning, then Stripe-like moving connections. */
html.motion .ltc-figure[data-reveal]:not(.is-in){opacity:1;filter:none;transform:none}
html.motion .ltc-figure :is(.layer-slab,.domain-card,.domain-foundation,.coding-band,.cart-step,.figure-caption){transition:opacity 760ms var(--ease-out),filter 760ms var(--ease-out),transform 1000ms var(--ease-out)}
html.motion .ltc-figure:not(.is-in) :is(.layer-slab,.domain-card,.domain-foundation,.coding-band,.cart-step,.figure-caption){opacity:0;filter:blur(6px);transform:translateY(16px)}
html.motion .ltc-figure:not(.is-in) .layer-slab{transform:translateY(-14px)}
/* Layers assemble from the foundation up: each layer serves the one above it. */
html.motion .layers-figure.is-in .layer-slab:nth-child(4){transition-delay:100ms}
html.motion .layers-figure.is-in .layer-slab:nth-child(3){transition-delay:260ms}
html.motion .layers-figure.is-in .layer-slab:nth-child(2){transition-delay:420ms}
html.motion .layers-figure.is-in .layer-slab:nth-child(1){transition-delay:580ms}
html.motion .layers-figure.is-in .figure-caption{transition-delay:780ms}
/* Domains appear, then the shared foundation they stand on. */
/* Ground up, as in Layered Strategy and the homepage artwork: the foundation lands first, then what stands on it. */
html.motion .domains-figure.is-in .domain-card:nth-child(1){transition-delay:220ms}
html.motion .domains-figure.is-in .domain-card:nth-child(2){transition-delay:330ms}
html.motion .domains-figure.is-in .domain-card:nth-child(3){transition-delay:440ms}
html.motion .domains-figure.is-in .domain-foundation{transition-delay:0ms}
html.motion .domains-figure:not(.is-in) .domain-foundation{transform:translateY(24px)}
/* Coding: foundational band first, the four groups build on it. */
html.motion .coding-figure.is-in .coding-groups .coding-band:nth-child(1){transition-delay:220ms}
html.motion .coding-figure.is-in .coding-groups .coding-band:nth-child(2){transition-delay:320ms}
html.motion .coding-figure.is-in .coding-groups .coding-band:nth-child(3){transition-delay:420ms}
html.motion .coding-figure.is-in .coding-groups .coding-band:nth-child(4){transition-delay:520ms}
/* Universal cart: each step arrives with its dot, as in the step strips. */
html.motion .cart-figure.is-in .cart-step::after{animation:m-pop 700ms var(--ease-out) both;animation-delay:calc(var(--cd,0ms) + 60ms)}
html.motion .cart-figure.is-in .cart-step:nth-child(2){--cd:220ms}
html.motion .cart-figure.is-in .cart-step:nth-child(3){--cd:440ms}
html.motion .cart-figure.is-in .cart-step:nth-child(2){transition-delay:220ms}
html.motion .cart-figure.is-in .cart-step:nth-child(3){transition-delay:440ms}
/* Moving connections: the dashes stay still; now and then one soft signal travels down to the foundation. */
@keyframes m-signal-y{0%{background-position:0 -60%,0 0}55%,100%{background-position:0 160%,0 0}}
html.motion :is(.domains-figure .domain-card,.coding-figure .coding-groups .coding-band)::after{border-left:0;width:2px;background:linear-gradient(to bottom,transparent,var(--figure-connector) 30%,#7ab4ff 50%,var(--figure-connector) 70%,transparent) no-repeat,repeating-linear-gradient(to bottom,var(--figure-connector) 0 7px,transparent 7px 12px);background-size:2px 46px,2px 12px;background-position:0 -60%,0 0}
html.motion :is(.domains-figure .domain-card,.coding-figure .coding-groups .coding-band)::after{width:2px;margin-left:-1px;animation:m-signal-y 6.4s var(--ease-io) infinite;animation-play-state:paused}
html.motion :is(.domains-figure .domain-card,.coding-groups .coding-band):nth-child(2)::after{animation-delay:-1.6s}
html.motion :is(.domains-figure .domain-card,.coding-groups .coding-band):nth-child(3)::after{animation-delay:-3.2s}
html.motion .coding-groups .coding-band:nth-child(4)::after{animation-delay:-4.8s}
html.motion .ltc-figure.is-live :is(.domain-card,.coding-groups .coding-band)::after{animation-play-state:running}

/* 6 · Opening deeper content: tab panels and the lightbox open with a short blur crossfade. */
html.motion .tabs-enhanced>.tabs-panel:not([hidden]){animation:m-soft-in 420ms var(--ease-out) both}
html.motion .lightbox[open]::backdrop{animation:m-soft-in 320ms ease both}
html.motion .lightbox[open] img{animation:m-photo-in 520ms var(--ease-out) both}
html.motion .lightbox img.is-swapping{animation:none}
html.motion .shot img{transition:transform 700ms var(--ease-out),opacity 200ms}
html.motion .shot:hover img{transform:scale(1.035);opacity:1}

/* 7 · Toolbar morph: one indicator glides between tabs; the chapter bar unfolds from a compact pill. */
@media(min-width:641px){
html.motion .tabs-bar.has-glide{position:relative}
html.motion .tabs-bar.has-glide .tab[aria-selected="true"]{border-bottom-color:transparent}
html.motion .tab-glide{position:absolute;left:0;top:0;height:3px;width:0;background:var(--link);pointer-events:none;border-radius:2px}
html.motion .tab-glide.is-ready{transition:transform 520ms var(--ease-io),width 520ms var(--ease-io)}
}
@media(max-width:640px){html.motion .tab-glide{display:none}}
html.motion .chapter-bar.is-visible{animation:m-bar-morph 560ms var(--ease-out) both}
html.motion .chapter-bar :is(.chapter-bar-name,.chapter-bar-group).is-swapping{animation:m-soft-in 420ms var(--ease-out) both}

/* 8 · Navigation: a soft pill glides to the hovered link (pointer devices only). */
html.motion .navigation.has-glide{position:relative;isolation:isolate}
html.motion .navigation.has-glide a:hover{text-decoration:none}
html.motion .nav-glide{position:absolute;left:0;top:0;z-index:-1;height:34px;width:0;border-radius:999px;background:rgba(122,180,255,.13);box-shadow:inset 0 0 0 1px rgba(122,180,255,.22);opacity:0;pointer-events:none;transition:opacity 220ms ease}
html.motion .nav-glide.is-ready{transition:transform 420ms var(--ease-io),width 420ms var(--ease-io),opacity 220ms ease}
html.motion .nav-glide.is-on{opacity:1}

/* 9 · Spotlight cards: a light that follows the pointer, on the card and along its edge. */
html.motion [data-spotlight]{position:relative;isolation:isolate}
html.motion .spot{position:absolute;inset:-1px;z-index:-1;pointer-events:none;border-radius:inherit;opacity:0;transition:opacity 380ms ease;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),var(--spot-fill,rgba(122,180,255,.10)),transparent 62%)}
html.motion [data-spotlight]:hover>.spot{opacity:1}
html.motion :is(.offer-card,.page-home .chapter-cards>li)[data-spotlight]{transition:transform 500ms var(--ease-out),border-color 200ms,background-color 200ms}
html.motion :is(.offer-card,.page-home .chapter-cards>li)[data-spotlight]:hover{transform:translateY(-2px)}

/* 10 · Smooth page-to-page crossfade between home and Learning to Connect (supporting browsers, same origin). */
@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:280ms}}

@media(prefers-reduced-motion:reduce){html.motion *,html.motion *::before,html.motion *::after{animation:none!important;transition:none!important}}
@media print{
html.motion [data-reveal],html.motion [data-reveal] *,html.motion .transform-art g,html.motion .ltc-figure *{opacity:1!important;filter:none!important;transform:none!important;animation:none!important;transition:none!important}
html.motion .page-home .hero-text>*,html.motion .page-home .hero-text h1 .w,html.motion .page-home .hero-photo,html.motion .page-home .hero .stages{animation:none!important}
.tab-glide,.nav-glide,.spot,.transform-art .art-pulses{display:none!important}
}

/* v55 — owner feedback. Appended after figures.css and motion.css, so it refines both.
   Figures take the form of the homepage chapter cards: flat units, icon tile, serif title, sans text,
   a pointer-following light and a 2px lift. Headers are plain text; "Explored in" carries the links. */

/* Hero photo: reserve its box before the image arrives (no headline jump). */
.page-home .hero-photo{display:flex;justify-content:flex-end;width:100%}
.page-home .hero-photo img{aspect-ratio:724/1086;width:min(100%,calc(min(82vh,820px) * 724 / 1086));height:auto;max-height:none}

/* External-link arrow drawn as a mask: U+2197 turns into a colour emoji on iOS. */
.ext-arrow,.button::after,.chips li>a::after{display:inline-block;width:.85em;height:.85em;margin-left:.2em;vertical-align:.02em;background:currentColor;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center/contain no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center/contain no-repeat}
.button::after{content:"";width:.9em;height:.9em;margin-left:0;font-size:inherit}
.chips li>a::after{content:"";color:var(--link);font-size:inherit}

/* "Nothing yet": the same dot as the other levels, just lighter (no hollow ring of another size). */
.autonomy-strip li:first-child::before{border:0;background:var(--link);opacity:.25}
.autonomy-strip li:nth-child(2)::before{opacity:.4}.autonomy-strip li:nth-child(3)::before{opacity:.55}.autonomy-strip li:nth-child(4)::before{opacity:.7}.autonomy-strip li:nth-child(5)::before{opacity:.85}

/* Chapter bar: appears softly while scrolling down, without the left-to-right unfold. */
html.motion .chapter-bar.is-visible{animation:none}
@media(prefers-reduced-motion:no-preference){.chapter-bar{transition:opacity 150ms ease,transform 150ms ease}.chapter-bar.is-visible{transition:opacity 480ms var(--ease-out),transform 620ms var(--ease-out)}}

/* ---------- Figures ---------- */
.page-ltc .ltc-figure{--figure-unit:#f8fbff;--spot-fill:rgba(28,63,158,.075)}
.page-ltc .ltc-figure :is(.domain-foundation,.coding-band--foundations,.layer-slab--platform){--spot-fill:rgba(122,180,255,.12)}
/* One title style for every unit: the serif of the chapter cards, in ink (titles are not links). */
.page-ltc .ltc-figure :is(.layer-slab-name,.domain-card h4,.cart-step strong,.coding-band-head>span:last-child){font:400 1.375rem/1.25 var(--font-display);letter-spacing:0;color:var(--foreground)}
.page-ltc .ltc-figure .foundation-parts strong{font:400 1.25rem/1.25 var(--font-display);margin-bottom:6px;color:var(--foreground)}
/* Questions and body text: calm sans in the muted tone, as on the chapter cards. */
.page-ltc .ltc-figure :is(.layer-slab-question,.domain-card>p:not(.explored-in),.cart-lead,.cart-tasks li){font:400 1rem/1.55 var(--font-body);color:var(--muted)}
.page-ltc .ltc-figure .layer-slab-question{font-size:1.0625rem}
/* Units: flat, square, a light that follows the pointer and a small lift (homepage chapter cards). */
.page-ltc .ltc-figure :is(.layer-slab,.domain-card,.cart-step){transition:background-color .2s ease}
.page-ltc .ltc-figure :is(.layer-slab,.domain-card,.cart-step):hover{background:var(--figure-unit)}
html.motion .page-ltc .ltc-figure :is(.layer-slab,.domain-card,.cart-step){transition-property:opacity,filter,transform,translate,background-color;transition-duration:760ms,760ms,1000ms,500ms,200ms;transition-timing-function:var(--ease-out)}
html.motion .page-ltc .ltc-figure.is-settled :is(.layer-slab,.domain-card,.cart-step){transition-delay:0s!important}
html.motion .page-ltc .ltc-figure.is-settled :is(.layer-slab,.domain-card,.cart-step)[data-spotlight]:hover{translate:0 -2px}
.page-ltc .ltc-figure .spot{inset:0}

/* Layered Strategy: icon, title with its question, and the chapters in their own column. */
.page-ltc .layer-stack{gap:8px}
.page-ltc .layer-slab{padding:24px 28px}
@media(min-width:900px){
.page-ltc .layer-slab{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,1fr);column-gap:24px;align-items:center}
.page-ltc .layer-slab-text{display:contents}
.page-ltc .layer-slab-name{grid-column:2;grid-row:1;align-self:end}
.page-ltc .layer-slab-question{grid-column:2;grid-row:2;align-self:start;margin-top:4px}
.page-ltc .layer-slab>.icon-tile{grid-row:1 / span 2;align-self:center}
.page-ltc .layer-slab .explored-in{grid-column:3;grid-row:1 / span 2;align-self:center;margin:0;padding-left:24px;border-left:1px solid color-mix(in srgb,var(--link) 22%,transparent)}
}

/* Where agents can work: steady blue lines to the foundation (no moving signal). */
html.motion .domains-figure .domain-card::after,.page-ltc .domains-figure .domain-card::after{animation:none!important;background:none!important;width:0!important;margin-left:-1px;border-left:2px solid color-mix(in srgb,var(--blue-strong) 55%,transparent)!important}
.page-ltc .domains-figure .domain-card::before{content:"";background:color-mix(in srgb,var(--blue-strong) 70%,transparent)}
.page-ltc .domains-figure .domain-card{padding:24px}
.page-ltc .domains-figure .domain-card h4{margin:16px 0 10px}

/* Agentic Coding: the foundational band on top, the four groups below it; no connectors needed. */
.page-ltc .coding-groups .coding-band::after,html.motion .coding-figure .coding-groups .coding-band::after{content:none!important;animation:none!important}
.page-ltc .coding-band-head{display:flex;margin-bottom:16px}
.page-ltc .coding-band-head>span:last-child{font-size:1.125rem;white-space:nowrap}
.page-ltc .coding-band--foundations .coding-band-head>span:last-child{font-size:1.25rem}
.page-ltc .coding-band--foundations{padding:24px 28px}
html.motion .coding-figure:not(.is-in) .coding-band--foundations{transform:translateY(-16px)}
html.motion .coding-figure.is-in .coding-band--foundations{transition-delay:0ms}

/* Universal cart: three equal steps with the same parts at the same height. */
.page-ltc .cart-step{padding:24px;gap:0}
.page-ltc .cart-step-head{gap:16px;margin-bottom:14px}
.page-ltc .cart-lead{margin:0 0 14px}
.page-ltc .cart-tasks{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.page-ltc .cart-tasks li{position:relative;padding-left:18px;font-size:.9375rem}
.page-ltc .ltc-figure .cart-tasks li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--blue-strong);opacity:.6}
.page-ltc .cart-step .explored-in{margin-top:auto;padding-top:18px}
@media(min-width:900px){
.page-ltc .cart-flow{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:0}
.page-ltc .cart-flow>.cart-step{display:grid;grid-row:span 4;grid-template-rows:subgrid;align-content:start}
.page-ltc .cart-step .explored-in{align-self:end}
}

@media(max-width:767px){
.page-ltc .layer-slab{padding:20px}
.page-ltc .ltc-figure :is(.layer-slab-name,.domain-card h4,.cart-step strong){font-size:1.25rem}
}
@media print{.page-ltc .ltc-figure .spot{display:none!important}}

/* 2026-11-05.3 — owner review.
   1. Headline: room for descenders inside each animated word, so g and p never pop in late (WebKit clips filtered boxes).
   2. Learning to Connect figures sit on the page's own navy, in the grammar of the homepage chapter cards:
      flat tinted units, rounded icon tiles, bold sans titles with their question 6px below, muted text,
      one hover model (padded units only; containers never light up), "Explored in" below a hairline.
      Depth is a tint step, not a colour change: a foundation is the densest surface and carries a top rule. */

html.motion .page-home .hero-text h1 .w{padding:0 .08em .24em;margin:0 -.08em -.24em}

/* ---------- Figure tokens ---------- */
.page-ltc .ltc-figure{--foreground:var(--white);--muted:var(--muted-dark);--link:var(--blue);--rule:rgba(122,180,255,.16);
 --u:rgba(122,180,255,.055);--u-hover:rgba(122,180,255,.095);--well:rgba(6,11,24,.42);--well-hover:rgba(122,180,255,.08);
 --base:rgba(122,180,255,.085);--hair:rgba(122,180,255,.16);--figure-connector:rgba(122,180,255,.5);--spot-fill:rgba(122,180,255,.08);
 margin:28px 0 48px;padding:0;color:var(--white);background:none}
.page-ltc .ltc-figure :is(.domain-foundation,.coding-band--foundations,.layer-slab--platform){--foreground:var(--white);--muted:var(--muted-dark);--link:var(--blue);--spot-fill:rgba(122,180,255,.08);color:var(--white)}
.page-ltc .ltc-figure .icon-tile,.page-ltc .ltc-figure :is(.domain-foundation,.coding-band--foundations,.layer-slab--platform) .icon-tile{width:48px;height:48px;margin:0;border-radius:12px;background:rgba(122,180,255,.14);color:var(--blue)}
.page-ltc .ltc-figure .icon-tile svg{width:24px;height:24px}
.page-ltc .figure-caption{margin:0 0 18px;color:var(--muted);font-size:.9375rem}

/* One title and one text style for every unit. */
.page-ltc .ltc-figure.ltc-figure :is(.layer-slab-name,.domain-card h4,.cart-step strong){font:600 1.1875rem/1.3 var(--font-body);letter-spacing:-.005em;color:var(--white)}
.page-ltc .ltc-figure.ltc-figure :is(.foundation-parts strong,.coding-band-head>span:last-child){font:600 1.0625rem/1.3 var(--font-body);letter-spacing:0;color:var(--white)}
.page-ltc .ltc-figure :is(.layer-slab-question,.domain-card>p:not(.explored-in),.foundation-parts p:not(.explored-in),.cart-lead,.cart-tasks li){font:400 1rem/1.55 var(--font-body);color:var(--muted)}
.page-ltc .ltc-figure .cart-tasks li{font-size:.9375rem;color:#c4cee0}

/* Explored in: label, then links, below a hairline. Text links underline on hover; nothing else does. */
.page-ltc .ltc-figure .explored-in{display:flex;flex-wrap:wrap;column-gap:16px;row-gap:2px;margin:18px 0 0;padding-top:14px;border-top:1px solid var(--hair);font-size:.9375rem;line-height:1.5}
.page-ltc .ltc-figure .explored-in>span{flex-basis:100%;margin:0 0 2px;color:var(--muted);font-size:.8125rem;letter-spacing:.01em}
.page-ltc .ltc-figure .explored-in a{color:var(--blue);text-decoration:none;white-space:nowrap}
.page-ltc .ltc-figure .explored-in a:hover,.page-ltc .ltc-figure .explored-in a:focus-visible{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}

/* Units: padded, flat, square; the light stays inside the unit. */
.page-ltc .ltc-figure :is(.layer-slab,.domain-card,.cart-step){border:0;background:var(--u)}
.page-ltc .ltc-figure :is(.layer-slab,.domain-card,.cart-step):hover{background:var(--u-hover)}
.page-ltc .ltc-figure .spot{inset:0}

/* ---------- Layered Strategy ---------- */
.page-ltc .layer-stack{gap:8px}
.page-ltc .ltc-figure .layer-slab{padding:24px 28px}
.page-ltc .ltc-figure .layer-slab--business{--u:rgba(122,180,255,.045);--u-hover:rgba(122,180,255,.085)}
.page-ltc .ltc-figure .layer-slab--agentic{--u:rgba(122,180,255,.07);--u-hover:rgba(122,180,255,.11)}
.page-ltc .ltc-figure .layer-slab--data{--u:rgba(122,180,255,.095);--u-hover:rgba(122,180,255,.135)}
.page-ltc .ltc-figure .layer-slab--platform{--u:rgba(122,180,255,.13);--u-hover:rgba(122,180,255,.17);box-shadow:inset 0 1px 0 rgba(122,180,255,.45)}
.page-ltc .layer-slab-text{gap:0}
.page-ltc .ltc-figure .layer-slab-question{margin-top:6px}
.page-ltc .ltc-figure .layer-slab .explored-in{margin-top:16px}
@media(min-width:900px){
.page-ltc .layer-slab{grid-template-columns:48px minmax(0,1fr) minmax(0,1.2fr);column-gap:24px;row-gap:0;align-items:center}
.page-ltc .layer-slab-name{align-self:end}
.page-ltc .ltc-figure .layer-slab-question{align-self:start}
.page-ltc .ltc-figure .layer-slab .explored-in{margin:0;padding:2px 0 2px 24px;border-top:0;border-left:1px solid var(--hair)}
}

/* ---------- Where agents can work ---------- */
.page-ltc .domains-figure .agent-domains{gap:20px}
.page-ltc .domains-figure .domain-card{padding:24px}
.page-ltc .domains-figure .domain-card h4{margin:20px 0 8px}
.page-ltc .domains-figure .domain-card>p:not(.explored-in){margin:0 0 20px}
.page-ltc .ltc-figure .chips.chips--terms li>span{min-height:30px;padding:5px 12px;border:0;background:rgba(122,180,255,.1);color:#d7e2f4;font-size:.875rem}
@media(min-width:768px){.page-ltc .domains-figure .agent-domains{row-gap:0;column-gap:20px}}
/* Steady connectors from each domain to the foundation it stands on. */
html.motion .domains-figure .domain-card::after,.page-ltc .domains-figure .domain-card::after{content:"";width:0!important;height:28px;margin-left:-1px;border-left:2px solid var(--figure-connector)!important;background:none!important;animation:none!important}
.page-ltc .domains-figure .domain-card::before{content:"";bottom:-4px;width:7px;height:7px;background:var(--blue)}
/* The foundation: the densest surface, a top rule, and its parts as padded wells. */
.page-ltc .ltc-figure .domain-foundation{margin-top:28px;padding:28px;background:var(--base);border:0;box-shadow:inset 0 1px 0 rgba(122,180,255,.45)}
.page-ltc .domain-foundation-title{margin-bottom:22px}
.page-ltc .ltc-figure .foundation-parts{gap:16px}
.page-ltc .ltc-figure .foundation-parts>li{position:relative;padding:22px;border:0;background:var(--well);transition:background-color .2s ease}
.page-ltc .ltc-figure .foundation-parts>li:hover{background:var(--well-hover)}
.page-ltc .ltc-figure .foundation-parts>li>div{display:flex;flex-direction:column;min-width:0}
.page-ltc .ltc-figure .foundation-parts strong{display:block;margin:18px 0 6px}
.page-ltc .ltc-figure .foundation-parts p:not(.explored-in){font-size:.9375rem;color:var(--muted)}
.page-ltc .ltc-figure .foundation-parts .explored-in{margin-top:16px;padding-top:12px;font-size:.875rem}
@media(min-width:900px){
.page-ltc .ltc-figure .foundation-parts>li{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;grid-row:span 4;row-gap:0;column-gap:0;align-content:start}
.page-ltc .ltc-figure .foundation-parts>li>.icon-tile{grid-row:auto}
.page-ltc .ltc-figure .foundation-parts>li>div{display:contents}
.page-ltc .ltc-figure .foundation-parts>li>div>*{grid-column:1}
.page-ltc .ltc-figure .foundation-parts .explored-in{align-self:end}
}
@media(max-width:899px){.page-ltc .ltc-figure .foundation-parts>li{display:block}.page-ltc .ltc-figure .foundation-parts>li>.icon-tile{margin-bottom:0}}

/* ---------- Agentic Coding ---------- */
.page-ltc .coding-figure{gap:28px}
.page-ltc .ltc-figure .coding-band-head{display:flex;align-items:center;gap:14px;margin:0 0 16px}
.page-ltc .ltc-figure .coding-band-head .icon-tile{width:40px;height:40px;border-radius:10px}
.page-ltc .ltc-figure .coding-band-head .icon-tile svg{width:20px;height:20px}
.page-ltc .ltc-figure .coding-band--foundations{padding:24px 28px;border:0;background:var(--base);box-shadow:inset 0 1px 0 rgba(122,180,255,.45)}
.page-ltc .ltc-figure .coding-band--foundations .coding-band-head>span:last-child{font-size:1.1875rem}
.page-ltc .ltc-figure .coding-groups{gap:20px}
.page-ltc .ltc-figure .coding-groups .coding-band{padding:16px 0 0;border:0;border-top:1px solid rgba(122,180,255,.35);background:none}
.page-ltc .ltc-figure .pattern-cards{gap:8px}
.page-ltc .ltc-figure .pattern-cards a{min-height:48px;padding:12px 16px;border:0;border-radius:0;background:var(--u);color:#dfe7f5;font-size:.9375rem;line-height:1.35;text-decoration:none;transition:background-color .2s ease,color .2s ease}
.page-ltc .ltc-figure .coding-band--foundations .pattern-cards a{min-height:56px;padding:14px 18px;background:var(--well)}
.page-ltc .ltc-figure .pattern-cards a:hover{background:var(--u-hover);color:var(--white);text-decoration:none}
.page-ltc .ltc-figure .coding-band--foundations .pattern-cards a:hover{background:var(--well-hover)}
.page-ltc .ltc-figure .pattern-cards a:focus-visible{outline:2px solid var(--blue);outline-offset:-2px;text-decoration:none}
@media(min-width:1100px){.page-ltc .ltc-figure .coding-band--foundations .pattern-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ---------- Universal cart: three equal steps, numbered; no rule or dots above. ---------- */
.page-ltc .ltc-figure .cart-flow{gap:20px;padding:0}
.page-ltc .ltc-figure .cart-flow>.cart-step::before,.page-ltc .ltc-figure .cart-flow>.cart-step::after{content:none!important;animation:none!important}
.page-ltc .ltc-figure .cart-step{display:flex;flex-direction:column;padding:24px;gap:0}
.page-ltc .ltc-figure .cart-step-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0}
.page-ltc .cart-step-no{color:var(--blue);font:600 .8125rem/1 var(--font-body);letter-spacing:.08em;font-variant-numeric:tabular-nums;padding-top:4px}
.page-ltc .ltc-figure .cart-step>.cart-title{margin:20px 0 8px}
.page-ltc .ltc-figure .cart-lead{margin:0 0 16px}
.page-ltc .ltc-figure .cart-tasks{list-style:none;margin:0;padding:0;display:grid;gap:10px;align-content:start}
.page-ltc .ltc-figure .cart-tasks li{position:relative;padding-left:18px;line-height:1.5}
.page-ltc .ltc-figure .cart-tasks li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border:0;border-radius:50%;background:var(--blue);opacity:.75}
.page-ltc .ltc-figure .cart-step .explored-in{margin-top:auto;padding-top:14px}
.page-ltc .ltc-figure .cart-tasks{margin-bottom:18px}
@media(min-width:900px){
.page-ltc .ltc-figure .cart-flow{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:0}
.page-ltc .ltc-figure .cart-flow>.cart-step{display:grid;grid-row:span 5;grid-template-rows:subgrid;align-content:start}
.page-ltc .ltc-figure .cart-step .explored-in{align-self:end}
}
@media(max-width:899px){.page-ltc .ltc-figure .cart-flow{grid-template-columns:minmax(0,1fr);gap:16px}}

@media(max-width:767px){
.page-ltc .ltc-figure .layer-slab{padding:20px}
.page-ltc .ltc-figure.ltc-figure :is(.layer-slab-name,.domain-card h4,.cart-step strong){font-size:1.125rem}
.page-ltc .ltc-figure .domain-foundation{padding:20px}
.page-ltc .ltc-figure .coding-band--foundations{padding:20px}
}
@media print{.page-ltc .ltc-figure{background:var(--navy)}.page-ltc .ltc-figure .spot{display:none!important}}

/* Foundational patterns: equal tile rows, balanced labels. Figure copy: no orphans. */
.page-ltc .ltc-figure .pattern-cards{grid-auto-rows:1fr}
.page-ltc .ltc-figure .pattern-cards a{display:flex;align-items:center;text-wrap:balance}
.page-ltc .ltc-figure :is(.cart-tasks li,.cart-lead,.layer-slab-question,.domain-card>p,.foundation-parts p){text-wrap:pretty}

/* Chapter bar: fully opaque, so light text scrolling underneath never shows through. */
.chapter-bar{background:#f4f6fa}

/* Hero sky: full-bleed canvas behind the hero content (JS sets left/width to the viewport). */
.page-home .hero{position:relative;isolation:isolate}
.page-home .hero>.hero-network{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;display:block;pointer-events:none}
.page-home .hero>.hero-grid,.page-home .hero>.stages{position:relative;z-index:1}
@media print{.page-home .hero>.hero-network{display:none!important}}

/* 2026-11-05.4: Financial Times blush as a light, warm accent surface. Blue stays the brand and action colour. */
:root{--blush:#f7e6df}
.change-callouts.change-block{background:var(--blush)}
.change-callouts .change-callout{background:#fff}
#services .offer-card{background:var(--blush);--spot-fill:rgba(255,255,255,.5)}
#services .offer-card .format{border-top-color:rgba(16,28,52,.12)}
.role-list .current{background:var(--blush)}

/* 2026-11-06.7: the "Where agents can work" cards sit on the dark figure surface; their body text and "Explored in" label used the light-background grey (2.2:1). Screen only: print keeps its light palette. */
@media screen{.page-ltc .ltc-figure .domain-card{--muted:var(--muted-dark)}}

/* Review candidate 2026-11-06 · user feedback: folds (Luuk), quieter page (Ada, Guus), clearer next step (Sjors), FAQ (Kristof). */
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-top:32px}
.hero .hero-actions .button{margin-top:0}
html.motion .page-home .hero-actions{--d:780ms}
.hero .hero-actions{gap:4px 28px}
.button--quiet{min-height:44px;padding:0;gap:10px;justify-content:flex-start;color:var(--blue);background:none;box-shadow:none;text-decoration:underline;text-decoration-color:rgba(122,180,255,.45);text-decoration-thickness:1px;text-underline-offset:6px}
.button--quiet:hover{color:var(--white);background:none;text-decoration-color:currentColor}
.button--quiet::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M6 13l6 6 6-6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M6 13l6 6 6-6'/%3E%3C/svg%3E")}

/* Folds: native <details>, so no-JS, find-in-page and search engines keep the content. */
.fold>summary{list-style:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.fold>summary::-webkit-details-marker{display:none}
.fold>summary:focus-visible{outline:2px solid var(--link);outline-offset:6px;border-radius:4px}
.fold-icon{position:relative;flex:none;width:28px;height:28px;border-radius:50%;box-shadow:inset 0 0 0 1px currentColor;transition:background-color .2s ease,color .2s ease}
.fold-icon::before,.fold-icon::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;border-radius:1px;background:currentColor;transform:translate(-50%,-50%)}
.fold-icon::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .3s var(--ease-out,ease)}
.fold[open]>summary .fold-icon::after{transform:translate(-50%,-50%) rotate(0deg)}
.fold>summary .fold-less{display:none}
.fold[open]>summary .fold-label{display:none}
.fold[open]>summary .fold-less{display:inline}

.fold--more{margin-top:4px}
.fold--more>summary{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:var(--link);font-size:.9375rem;font-weight:600}
.fold--more>summary:hover .fold-label,.fold--more>summary:hover .fold-less{text-decoration:underline;text-underline-offset:4px}
.fold--more>summary:hover .fold-icon{background:var(--link);color:var(--bg,#fff)}
.fold--more>summary+*{margin-top:12px}
.lab .fold--more{margin-top:20px}

.interaction-shift>.fold{margin:0}
.interaction-shift>.fold>summary:hover .fold-icon{color:var(--sky)}
.change-2030>.interaction-shift{padding-block:clamp(14px,1.6vw,20px)}
.interaction-shift>.fold>summary+.step-strip{padding-top:20px}
.interaction-shift>.fold>.step-strip:last-child{padding-bottom:clamp(10px,2.4vw,36px)}
#services .offer-card p{text-wrap:pretty}

#faq .faq-list{max-width:880px;margin-top:40px;border-top:1px solid var(--rule)}
.faq-item{border-bottom:1px solid var(--rule)}
.faq-item>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;padding:22px 0}
.faq-item>summary h3{margin:0;font-family:var(--font-display);font-size:clamp(1.25rem,2vw,1.5rem);font-weight:400;line-height:1.3;color:var(--foreground,var(--ink))}
.faq-item>summary .fold-icon{color:var(--link)}
.faq-item>summary:hover .fold-icon{background:var(--link);color:var(--bg,#fff)}
.faq-answer{max-width:68ch;padding:4px 52px 26px 0;color:var(--muted)}
.faq-answer p+p{margin-top:12px}
@media(max-width:767px){.faq-item>summary{padding:18px 0}.faq-answer{padding-right:0}}

@supports (interpolate-size:allow-keywords){
 html.motion .fold{interpolate-size:allow-keywords}
 html.motion .fold::details-content{block-size:0;opacity:0;overflow-y:clip;overflow-clip-margin:12px;transition:block-size .45s var(--ease-out,ease),opacity .35s ease,content-visibility .45s allow-discrete}
 html.motion .fold[open]::details-content{block-size:auto;opacity:1}
}
@media print{
 html .fold::details-content{content-visibility:visible!important;block-size:auto!important;opacity:1!important}
 .fold--more>summary,.faq-item>summary .fold-icon{display:none}
}

/* Work with me: icon tiles in the rosé of the illustration's top span, navy line icons. */
#services .offer-card .icon-tile{background:#efcfc3;color:var(--ink);margin-bottom:20px}

/* Round 3 · step strips keep the line and rising dots; each step gets a Principles-style icon tile.
   Homepage: white tile on the light-blue panel. Learning to Connect: blue tint on navy. */
.step-strip .step-icon{width:40px;height:40px;border-radius:10px;margin:0 0 14px}
.step-strip .step-icon svg{width:20px;height:20px}
.interaction-shift .step-icon{background:#fff;color:var(--blue-strong)}
.page-ltc .interaction-shift .step-icon{background:rgba(122,180,255,.14);color:var(--blue)}
.interaction-shift .step-strip li:has(>.step-icon)::before{top:16px}
@media(min-width:1100px){.interaction-shift .step-strip li:has(>.step-icon)::before{top:-4px}.interaction-shift .step-strip li:has(>.step-icon){padding-top:20px}}

/* 2026-11-06 · Learning to Connect breathing room: layout only, text unchanged.
   1 more air above each topic, 2 space instead of row lines, 3 wider and calmer descriptions, 4 Manifesto roles on their own line. */
.page-ltc .protocol-map>.panel-eyebrow:not(.first-group){margin-top:clamp(56px,6vw,88px)!important}
.page-ltc .protocol-layer,.page-ltc .protocol-layer:last-child,.page-ltc .chapter-final-group>.protocol-layer:last-child{border-top:0;border-bottom:0;padding-block:18px}
.page-ltc .protocol-layer>div>p:not(.layer-question):not(.explored-in){font-size:.9375rem;line-height:1.7;max-width:none}
@media(min-width:900px){.page-ltc .protocol-layer:not(.manifesto-map .protocol-layer){grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:56px}}
.page-ltc .coding-patterns{row-gap:6px}
.page-ltc .coding-pattern{border-top:0;padding:16px 0 20px}
.page-ltc .manifesto-map .protocol-layer{padding-block:28px}
.page-ltc .manifesto-map .manifesto-practice{line-height:1.7}
.page-ltc .practice-part{display:block}
.page-ltc .practice-part+.practice-part{margin-top:10px}

/* 2026-11-06 · Learning to Connect icon system (A + B). Icons have one job and one place:
   the chapter map (B) and the topic head (A) show the same icon; rows stay text. Tiles use the homepage rosé
   (surface accent, navy icon) for navigation; figure icons stay blue. No dividers. */
.page-ltc :is(.topic-icon,.map-icon,.row-icon){display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border-radius:12px;margin:0;background:#f7e6df;color:var(--ink)}
.page-ltc :is(.topic-icon,.map-icon,.row-icon) svg{display:block;width:22px;height:22px}
.page-ltc .row-icon{width:40px;height:40px;border-radius:11px}
.page-ltc .row-icon svg{width:20px;height:20px}

/* B · chapter map */
.page-ltc .chapter-map .map-stops{display:grid;grid-auto-flow:row;gap:12px;list-style:none;margin:12px 0 0;padding:0}
.page-ltc .map-stop{position:relative;display:flex;align-items:flex-start;gap:14px;min-width:0}
.page-ltc .map-links{display:flex;flex-direction:column;gap:2px;min-width:0;padding-top:0}
.page-ltc .chapter-map .map-links a{display:flex;align-items:center;min-height:44px;padding:0;border:0;border-radius:0;color:var(--link);font-size:.9375rem;line-height:1.35;text-decoration:none}
.page-ltc .chapter-map .map-links a:hover,.page-ltc .chapter-map .map-links a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.page-ltc .chapter-map .map-stops{gap:16px}
.page-ltc .map-stop:not(:last-child)::after{content:"";position:absolute;left:21.5px;top:44px;bottom:-16px;width:1px;background:rgba(122,180,255,.4)}
@media(min-width:1100px){
.page-ltc .chapter-map .map-stops{grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:24px;margin-top:16px}
.page-ltc .map-stop{flex-direction:column;gap:12px}
.page-ltc .chapter-map .map-links a{min-height:0;padding:1px 0}
.page-ltc .map-stop:not(:last-child)::after{left:56px;right:-12px;top:21.5px;bottom:auto;width:auto;height:1px}
.page-ltc .chapter-map--single .map-stops{grid-auto-columns:auto;justify-content:start}
}
.page-ltc .chapter-map--figure{display:none}
.page-ltc .coding-band-head .band-link{color:inherit;text-decoration:underline;text-decoration-color:rgba(122,180,255,.45);text-decoration-thickness:1px;text-underline-offset:5px}
.page-ltc .coding-band-head .band-link:hover,.page-ltc .coding-band-head .band-link:focus-visible{text-decoration-color:currentColor}
.page-ltc .chapter-index.chapter-map{min-height:0!important}

/* A · topic blocks */
.page-ltc .topic{margin-top:clamp(64px,7vw,96px)}
.page-ltc .chapter-index+.topic,.page-ltc .chapter-index+.ltc-figure+.topic{margin-top:56px}
.page-ltc .topic-head .topic-icon{margin-bottom:16px}
.page-ltc .topic-head .panel-eyebrow,.page-ltc .topic--strips .panel-eyebrow{margin:0!important;font:400 1.5rem/1.25 var(--font-display);letter-spacing:0;text-transform:none;color:var(--foreground)}
.page-ltc .topic-head :is(.group-lead,.map-note){margin:10px 0 0;max-width:62ch;color:var(--muted);font-size:1rem;line-height:1.6}
.page-ltc .topic-body{margin-top:20px}
.page-ltc .topic-body>.protocol-layers:first-child>.protocol-layer:first-child,.page-ltc .topic-body>.coding-patterns:first-child>.coding-pattern:first-child{padding-top:0}
@media(min-width:768px){.page-ltc .topic-body>.coding-patterns:first-child>.coding-pattern:nth-child(2){padding-top:0}}
.page-ltc .topic-body>:first-child{margin-top:0}
.page-ltc .topic--strips .step-strip{margin-top:0}
.page-ltc .topic--strips .step-strip+.step-strip{margin-top:clamp(56px,6vw,80px)}
.page-ltc .topic--strips .topic-icon{margin-bottom:16px}
.page-ltc .topic--strips .step-strip>p:not(.panel-eyebrow){margin:10px 0 0;max-width:62ch;color:var(--muted);font-size:1rem;line-height:1.6}
.page-ltc .topic--strips .step-strip ol{margin-top:28px}
@media screen and (min-width:1180px){
.page-ltc .topic:not(.topic--wide){display:grid;grid-template-columns:264px minmax(0,1fr);column-gap:64px;align-items:start}
.page-ltc .topic:not(.topic--wide) .topic-head{position:sticky;top:84px}
.page-ltc .topic:not(.topic--wide) .topic-body{margin-top:0;padding-top:var(--head-offset,65px)}
.page-ltc .topic:not(.topic--wide) .topic-head :is(.group-lead,.map-note){font-size:.9375rem}
.page-ltc .topic:not(.topic--wide) .protocol-layer:not(.manifesto-row){grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px}
.page-ltc .topic:not(.topic--wide) .topic-body>.protocol-layers:first-child>.protocol-layer:first-child,
.page-ltc .topic:not(.topic--wide) .topic-body>.coding-patterns:first-child>.coding-pattern:first-child,
.page-ltc .topic:not(.topic--wide) .topic-body>.coding-patterns:first-child>.coding-pattern:nth-child(2){padding-top:0}
}

/* Landscape chapters: a narrower description column gives the logo pills more room. */
@media screen and (min-width:900px){
.page-ltc :is(#agent-landscape,#integration-landscape,#data-landscape,#identity-landscape,#web-landscape,#business-landscape) .protocol-layer{grid-template-columns:minmax(0,280px) minmax(0,1fr)}
}

/* Rows: tags start at the row title, not vertically centred against it. */
.page-ltc .protocol-layer{align-items:start}
.page-ltc .protocol-layer>.chips--terms,.page-ltc .protocol-layer>.chips{align-self:start!important}
@media(min-width:900px){.page-ltc .protocol-layer>.chips--terms,.page-ltc .protocol-layer>.chips{margin-top:-5px}}

/* Manifesto: icon + number + principle | In practice */
.page-ltc .manifesto-headers{grid-template-columns:minmax(0,30fr) minmax(0,70fr);gap:32px}
.page-ltc .manifesto-text .manifesto-practice{max-width:64ch}
.page-ltc .manifesto-map .protocol-layer.manifesto-row{grid-template-columns:minmax(0,30fr) minmax(0,70fr);gap:32px;align-items:start}
.page-ltc .manifesto-title{display:flex;align-items:flex-start;gap:14px}
.page-ltc .manifesto-title h4{margin:0;padding-top:8px;font:600 1rem/1.4 var(--font-body);color:var(--foreground)}
.page-ltc .manifesto-text .manifesto-practice{margin:0;padding-top:8px}
@media(max-width:899px){.page-ltc .manifesto-map .protocol-layer.manifesto-row{grid-template-columns:minmax(0,1fr);gap:12px}.page-ltc .manifesto-text .manifesto-practice{padding-top:0}}

@media print{.page-ltc .topic-head{position:static}.page-ltc .map-stop::after{display:none}.page-ltc :is(.topic-icon,.map-icon,.row-icon){background:#f7e6df}}

/* 2026-11-06 · Koen: a thin splitter between subchapters (not between rows); arrows a size up. */
.page-ltc .topic+.topic{margin-top:clamp(36px,4vw,48px);padding-top:clamp(36px,4vw,48px);border-top:1px solid var(--rule)}
.page-ltc .topic--strips .step-strip+.step-strip{margin-top:clamp(36px,4vw,48px);padding-top:clamp(36px,4vw,48px);border-top:1px solid var(--rule)}
.page-ltc .topic-body>.protocol-layers:last-child>.protocol-layer:last-child,.page-ltc .topic-body>.coding-patterns:last-child>.coding-pattern:last-child{padding-bottom:0}
@media(min-width:768px){.page-ltc .topic-body>.coding-patterns:last-child>.coding-pattern:nth-last-child(2):nth-child(odd){padding-bottom:0}}
.ext-arrow,.chips li>a::after{width:1em;height:1em;vertical-align:-.08em}
.button::after{width:1em;height:1em}
.next-arrow{font-size:1.2em;line-height:1;vertical-align:-.04em}

/* 2026-11-06 · Marks in the link pills: open standards, companies and products with an official mark; one colour,
   one size, one slot before the name. Pills without an official mark keep the name only. Marks other than the
   open standards live once in the inline .logo-sprite and are referenced with <use>. */
.page-ltc .chips li>a:has(.chip-logo){gap:8px}
.page-ltc .chip-logo{display:inline-flex;align-items:center;justify-content:center;flex:none;width:18px;height:18px;color:var(--foreground);opacity:.82}
.page-ltc .chip-logo svg{display:block;width:18px;height:18px}
.page-ltc .chip-logo[data-mark=openapi] svg{width:16px;height:16px}
.page-ltc .chips li>a:hover .chip-logo,.page-ltc .chips li>a:focus-visible .chip-logo{opacity:1}
.logo-sprite{position:absolute;width:0;height:0;overflow:hidden}


/* 2026-11-07: layer names link to their topics, manifesto key words, resource modelling figure, home layers */
.page-ltc .layer-slab-name .band-link{color:inherit;text-decoration:underline;text-decoration-color:rgba(122,180,255,.45);text-decoration-thickness:1px;text-underline-offset:5px}
.page-ltc .layer-slab-name .band-link:hover,.page-ltc .layer-slab-name .band-link:focus-visible{text-decoration-color:currentColor}
.page-ltc .manifesto-practice .kw{font-weight:600;color:var(--foreground)}
.page-ltc .manifesto-practice strong{color:var(--link);font-weight:600}
.page-ltc .resource-figure .coding-groups{grid-template-columns:minmax(0,1fr)}
@media(min-width:768px){.page-ltc .resource-figure .coding-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.page-ltc .ltc-figure.resource-figure .coding-band--foundations .pattern-cards{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1099px){.page-ltc .resource-figure .coding-band--foundations .pattern-cards li:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:479px){.page-ltc .resource-figure .coding-band--foundations .pattern-cards li:last-child:nth-child(odd){grid-column:auto}}
.page-home .home-layers{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:8px}
.page-home .home-layer{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:20px;padding:20px 24px;background:rgba(122,180,255,.045);transition:background-color .2s ease}
.page-home .home-layer--agentic{background:rgba(122,180,255,.07)}
.page-home .home-layer--data{background:rgba(122,180,255,.095)}
.page-home .home-layer--platform{background:rgba(122,180,255,.13)}
.page-home .home-layer:hover{background:rgba(122,180,255,.15)}
.page-home .home-layer .icon-tile{width:48px;height:48px;margin:0;border-radius:12px;background:rgba(122,180,255,.14);color:var(--blue)}
.page-home .home-layer .icon-tile svg{width:24px;height:24px}
.page-home .home-layer h3{margin:0;font:600 1.1875rem/1.3 var(--font-body);letter-spacing:-.005em}
.page-home .home-layer h3 a{color:var(--white);text-decoration:none}
.page-home .home-layer h3 a::after{content:"";position:absolute;inset:0}
.page-home .home-layer h3 a:focus-visible{outline:none}
.page-home .home-layer:has(a:focus-visible){outline:3px solid var(--link);outline-offset:3px}
.page-home .home-layer p{margin:4px 0 0;color:var(--muted);font-size:1rem;line-height:1.5}
.page-home .home-layer .chapter-arrow{color:var(--link);transition:transform .2s ease}
.page-home .home-layer:hover .chapter-arrow{transform:translateX(4px)}
@media(max-width:767px){.page-home .home-layer{grid-template-columns:40px minmax(0,1fr) auto;gap:14px;padding:16px}.page-home .home-layer .icon-tile{width:40px;height:40px;border-radius:10px}.page-home .home-layer .icon-tile svg{width:20px;height:20px}.page-home .home-layer p{font-size:.9375rem}}
@media(prefers-reduced-motion:reduce){.page-home .home-layer,.page-home .home-layer .chapter-arrow{transition:none}.page-home .home-layer:hover .chapter-arrow{transform:none}}


/* 2026-11-07.3: Future of the Firm figure, home topic links */
.page-ltc .fotf-art{display:block;width:100%;height:auto;margin:0 0 8px;color:#c4cee0}
.page-ltc .fotf-art .p{fill:#0f1a33;stroke:currentColor;stroke-width:2.4}
.page-ltc .fotf-art .ai{fill:var(--blue);stroke:currentColor;stroke-width:2.4}
.page-ltc .fotf-art .l{fill:none;stroke:currentColor;stroke-opacity:.7;stroke-width:2.2}
.page-ltc .ltc-figure .cart-step-head:has(.fotf-art){display:block}
.page-ltc .fotf-legend{display:flex;align-items:center;gap:8px;margin:20px 0 0;color:var(--muted);font-size:1rem}
.page-ltc .fotf-legend .fotf-key{display:inline-block;width:14px;height:14px;border-radius:50%;box-sizing:border-box}
.page-ltc .fotf-legend .fotf-key--p{border:1.75px solid #c4cee0}
.page-ltc .fotf-legend .fotf-key--ai{background:var(--blue);margin-left:12px}
.page-home .topic-links{margin-top:auto;display:flex;flex-direction:column;gap:0}
.page-home .topic-links .topic-chapter{margin-top:0;padding:12px 0 0}
.page-home .topic-links .topic-chapter+.topic-chapter{padding-top:8px}


/* 2026-11-07.3: new figures. One vocabulary: tinted units (--u), darker wells, the foundation tint (--base) for the
   key unit, blue labels, thin blue connectors with small arrowheads. No borders, no boxed cards. */
.page-ltc .ltc-figure .fig-label{display:block;margin:0 0 6px;color:var(--blue);font:600 var(--eyebrow-size)/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.page-ltc .ltc-figure .fig-title{display:block;margin:0;font:600 1.0625rem/1.3 var(--font-body);color:var(--white)}
.page-ltc .ltc-figure .fig-text{margin:6px 0 0;font:400 .9375rem/1.55 var(--font-body);color:var(--muted);text-wrap:pretty}
.page-ltc .ltc-figure .icon-tile.icon-tile{flex:none}
.page-ltc .rows-label{margin:36px 0 4px;color:var(--blue);font:600 var(--eyebrow-size)/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.page-ltc .ltc-figure+.protocol-layers{margin-top:20px}

/* The change towards 2030 */
.page-ltc .cmp{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0 8px;margin:-8px 0}
.page-ltc .cmp th{padding:0 24px 0;text-align:left;color:var(--blue);font:600 var(--eyebrow-size)/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.page-ltc .cmp th:nth-child(2),.page-ltc .cmp .cmp-arrow{width:56px}
.page-ltc .cmp td{padding:16px 24px;vertical-align:middle;font-size:1.0625rem;line-height:1.45}
.page-ltc .cmp td:first-child{background:var(--u);color:var(--muted)}
.page-ltc .cmp td:last-child{background:var(--base);color:var(--white);font-weight:500}
.page-ltc .cmp .cmp-arrow{padding:0;text-align:center;color:var(--blue);font-size:1.25rem}
@media(max-width:767px){
.page-ltc .cmp,.page-ltc .cmp tbody{display:block;margin:0}
.page-ltc .cmp thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.page-ltc .cmp tr{display:grid;grid-template-columns:minmax(0,1fr);margin-bottom:12px}
.page-ltc .cmp td{display:block;padding:14px 18px;font-size:1rem}
.page-ltc .cmp .cmp-arrow{width:auto;padding:2px 0;line-height:1;transform:rotate(90deg);background:none}
}

/* Every function changes: function + capability = what it means */
.page-ltc .fx{display:grid;gap:8px}
.page-ltc .fx-head,.page-ltc .fx-row{display:grid;grid-template-columns:minmax(0,.95fr) 40px minmax(0,1.1fr) 40px minmax(0,1.45fr);align-items:stretch}
.page-ltc .fx-head span{padding:0 24px;color:var(--blue);font:600 var(--eyebrow-size)/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.page-ltc .fx-head span:last-child{padding-left:4px}
.page-ltc .fx-fn{display:flex;align-items:center;gap:16px;padding:18px 24px;background:var(--base)}
.page-ltc .fx-fn strong{font:600 1.0625rem/1.3 var(--font-body);color:var(--white)}
.page-ltc .ltc-figure .fx-fn .icon-tile{width:40px;height:40px;border-radius:10px}
.page-ltc .ltc-figure .fx-fn .icon-tile svg{width:20px;height:20px}
.page-ltc .fx-cap{display:flex;align-items:center;padding:18px 24px;background:var(--u);color:#dfe7f5;font-size:1rem;line-height:1.45}
.page-ltc .fx-op{display:flex;align-items:center;justify-content:center;color:var(--blue);font:300 1.75rem/1 var(--font-body)}
.page-ltc .fx-res{display:flex;align-items:center;padding:12px 0 12px 4px}
.page-ltc .fx-out{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.page-ltc .fx-out li{position:relative;padding-left:18px;color:#c4cee0;font-size:.9375rem;line-height:1.5}
.page-ltc .fx-out li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--blue);opacity:.75}
@media(max-width:899px){
.page-ltc .fx-head{display:none}
.page-ltc .fx{gap:20px}
.page-ltc .fx-row{grid-template-columns:minmax(0,1fr);gap:0}
.page-ltc .fx-op{height:32px;font-size:1.375rem}
.page-ltc .fx-res{padding:4px 0 0}
}

/* Business channels: five eras */
.page-ltc .era-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.page-ltc .era{display:flex;flex-direction:column;padding:24px;background:var(--u)}
.page-ltc .era:nth-child(2){background:rgba(122,180,255,.07)}
.page-ltc .era:nth-child(3){background:rgba(122,180,255,.095)}
.page-ltc .era--now{background:var(--base)!important;box-shadow:inset 0 1px 0 rgba(122,180,255,.45)}
.page-ltc .era--next{background:none!important;outline:1px dashed rgba(122,180,255,.4);outline-offset:-1px}
.page-ltc .era-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.page-ltc .era-when{color:var(--blue);font:600 .8125rem/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:tabular-nums}
.page-ltc .era .chips{margin-top:auto;padding-top:16px}
.page-ltc .era-note{display:flex;align-items:center;gap:16px;margin:8px 0 0;padding:16px 24px;background:var(--well);color:#c4cee0;font-size:1rem}
.page-ltc .ltc-figure .era-note .icon-tile{width:36px;height:36px;border-radius:10px}
.page-ltc .ltc-figure .era-note .icon-tile svg{width:18px;height:18px}
@media(max-width:1099px){.page-ltc .era-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.page-ltc .era--next{grid-column:1/-1}}
@media(max-width:599px){.page-ltc .era-flow{grid-template-columns:minmax(0,1fr)}.page-ltc .era{padding:20px}}

/* From automation to agents */
.page-ltc .evo,.page-ltc .evo-band{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.page-ltc .evo-col{display:flex;flex-direction:column;padding:22px 20px 24px;background:var(--u)}
.page-ltc .evo-col--agent{background:var(--base);box-shadow:inset 0 1px 0 rgba(122,180,255,.45)}
.page-ltc .evo-no{margin-bottom:14px;color:var(--blue);font:600 .8125rem/1 var(--font-body);letter-spacing:.08em;font-variant-numeric:tabular-nums}
.page-ltc .evo-sub{display:block;margin-top:4px;color:var(--muted);font-size:.875rem;line-height:1.45;min-height:2.9em}
.page-ltc .evo-pipe{display:flex;flex-direction:column;margin-top:18px}
.page-ltc .evo-node{display:block;padding:9px 10px;background:var(--well);color:#dfe7f5;font-size:.875rem;line-height:1.3;text-align:center}
.page-ltc .evo-node small{display:block;margin-top:2px;color:var(--muted);font-size:.75rem}
.page-ltc .evo-node--key{background:rgba(122,180,255,.2);color:var(--white);font-weight:600}
.page-ltc .evo-pair{display:grid;grid-template-columns:1fr 1fr;gap:6px;position:relative}
.page-ltc .evo-pair--link::after{content:"↔";position:absolute;left:50%;top:50%;transform:translate(-50%,-52%);color:var(--blue);font-size:.875rem;line-height:1}
.page-ltc .evo-arrow{position:relative;display:block;height:18px}
.page-ltc .evo-arrow::before{content:"";position:absolute;left:50%;top:2px;bottom:5px;width:1.5px;margin-left:-.75px;background:rgba(122,180,255,.6)}
.page-ltc .evo-arrow::after{content:"";position:absolute;left:50%;bottom:1px;margin-left:-4px;border:4px solid transparent;border-top:5px solid var(--blue);border-bottom:0}
.page-ltc .evo-tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:auto 0 0;padding:16px 0 0}
.page-ltc .evo-tags li{padding:3px 10px;background:rgba(122,180,255,.1);color:#d7e2f4;font-size:.8125rem;border-radius:999px}
.page-ltc .evo-band{margin-top:8px}
.page-ltc .evo-seg{display:flex;flex-direction:column;gap:4px;padding:16px 20px;background:rgba(122,180,255,.06);color:var(--muted);font-size:.875rem;line-height:1.45}
.page-ltc .evo-seg:first-child{grid-column:span 2}
.page-ltc .evo-seg--do{background:rgba(122,180,255,.14)}
.page-ltc .evo-seg strong{color:var(--white);font-size:.9375rem}
.page-ltc .evo-mode{color:var(--blue);font:600 .75rem/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
@media(max-width:1099px){
.page-ltc .evo{grid-template-columns:repeat(2,minmax(0,1fr))}.page-ltc .evo-col:last-child{grid-column:1/-1}
.page-ltc .evo-band{grid-template-columns:repeat(2,minmax(0,1fr))}.page-ltc .evo-seg:first-child{grid-column:auto}
.page-ltc .evo-sub{min-height:0}
}
@media(max-width:599px){.page-ltc .evo,.page-ltc .evo-band{grid-template-columns:minmax(0,1fr)}}

/* When to use an agent */
.page-ltc .sweet{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:470px;background:var(--u);overflow:hidden}
.page-ltc .sweet-curve{position:absolute;left:0;right:0;bottom:44px;width:100%;height:270px}
.page-ltc .sweet-fill{fill:rgba(122,180,255,.16)}
.page-ltc .sweet-line{fill:none;stroke:var(--blue);stroke-width:2;vector-effect:non-scaling-stroke}
.page-ltc .sweet-zone{position:relative;z-index:1;display:flex;flex-direction:column;padding:28px 28px 0}
.page-ltc .sweet-zone+.sweet-zone{background-image:linear-gradient(rgba(122,180,255,.5) 50%,transparent 0);background-size:1.5px 10px;background-repeat:repeat-y;background-position:left top}
.page-ltc .sweet-zone--mid{background-color:rgba(122,180,255,.07)}
.page-ltc .sweet-zone p{max-width:30ch;margin:0;color:#c4cee0;font-size:1rem;line-height:1.55;text-wrap:pretty}
.page-ltc .sweet-zone--mid p{margin:0 auto;text-align:center}
.page-ltc .sweet-zone--right p{margin-left:auto;text-align:right}
.page-ltc .sweet-label{position:absolute;bottom:72px;display:flex;flex-direction:column;gap:12px;max-width:16ch;color:var(--white);font:600 1.1875rem/1.3 var(--font-body)}
.page-ltc .sweet-zone--left .sweet-label{right:24px;text-align:right}
.page-ltc .sweet-zone--mid .sweet-label{left:50%;transform:translateX(-50%);align-items:center;text-align:center}
.page-ltc .sweet-zone--right .sweet-label{left:24px}
.page-ltc .sweet-axis{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;justify-content:space-between;align-items:center;height:44px;margin:0;padding:0 28px;border-top:1px solid rgba(122,180,255,.35);background:rgba(6,11,24,.35);color:var(--muted);font:600 .875rem/1 var(--font-body)}
.page-ltc .sweet-axis span:nth-child(2){color:var(--white)}
@media(max-width:767px){
.page-ltc .sweet{display:flex;flex-direction:column;min-height:0}
.page-ltc .sweet-curve{position:relative;bottom:auto;height:110px;order:-2}
.page-ltc .sweet-axis{position:relative;order:-1;padding:0 18px}
.page-ltc .sweet-zone{padding:20px 18px}
.page-ltc .sweet-zone+.sweet-zone{background-image:linear-gradient(90deg,rgba(122,180,255,.5) 50%,transparent 0);background-size:10px 1.5px;background-repeat:repeat-x}
.page-ltc .sweet-zone p,.page-ltc .sweet-zone--mid p,.page-ltc .sweet-zone--right p{margin:0;text-align:left;max-width:none}
.page-ltc .sweet-label,.page-ltc .sweet-zone--left .sweet-label,.page-ltc .sweet-zone--mid .sweet-label,.page-ltc .sweet-zone--right .sweet-label{position:static;transform:none;order:-1;flex-direction:row;align-items:center;margin-bottom:8px;max-width:none;text-align:left;font-size:1.0625rem}
.page-ltc .ltc-figure .sweet-label .icon-tile{width:32px;height:32px;border-radius:9px}
.page-ltc .ltc-figure .sweet-label .icon-tile svg{width:18px;height:18px}
}

/* What an agent is made of */
.page-ltc .anat{display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,2.6fr) 56px minmax(0,1fr);align-items:center}
.page-ltc .anat-io{display:flex;flex-direction:column;gap:4px;padding:18px 20px;background:var(--u);text-align:center}
.page-ltc .anat-io strong{color:var(--white);font-size:1.0625rem}
.page-ltc .anat-io span{color:var(--muted);font-size:.875rem;line-height:1.4}
.page-ltc .anat-arrow{position:relative;height:2px;margin:0 8px;background:rgba(122,180,255,.6)}
.page-ltc .anat-arrow::after{content:"";position:absolute;right:-1px;top:50%;margin-top:-5px;border:5px solid transparent;border-left:7px solid var(--blue);border-right:0}
.page-ltc .anat-agent{position:relative;padding:22px 24px 24px;background:var(--base);box-shadow:inset 0 1px 0 rgba(122,180,255,.45)}
.page-ltc .anat-agent-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.page-ltc .anat-agent-head .fig-title{font-size:1.1875rem}
.page-ltc .anat-core{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.page-ltc .anat-core span{padding:14px 12px;background:var(--well);color:var(--white);font-weight:600;text-align:center}
.page-ltc .anat-agent::after{content:"";position:absolute;left:50%;top:100%;height:24px;width:2px;margin-left:-1px;background:rgba(122,180,255,.6)}
.page-ltc .anat-parts{grid-column:1/-1;position:relative;list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.page-ltc .anat-parts::before{content:"";position:absolute;left:calc(100%/6);right:calc(100%/6);top:-24px;height:2px;background:rgba(122,180,255,.6)}
.page-ltc .anat-part{position:relative;display:flex;flex-direction:column;padding:24px;background:var(--u)}
.page-ltc .anat-part::before{content:"";position:absolute;left:50%;top:-24px;height:24px;width:2px;margin-left:-1px;background:rgba(122,180,255,.6)}
.page-ltc .anat-part:nth-child(2){background:rgba(122,180,255,.1)}
.page-ltc .anat-part .icon-tile{margin-bottom:18px!important}
.page-ltc .anat-part .chips{margin-top:16px}
.page-ltc .anat-defs{display:grid;gap:10px;margin:16px 0 0}
.page-ltc .anat-defs dt{color:var(--white);font-weight:600;font-size:.9375rem}
.page-ltc .anat-defs dd{margin:2px 0 0;color:#c4cee0;font-size:.9375rem;line-height:1.5}
@media(max-width:899px){
.page-ltc .anat{grid-template-columns:minmax(0,1fr)}
.page-ltc .anat-arrow{width:2px;height:28px;margin:0 auto}
.page-ltc .anat-arrow::after{right:auto;left:50%;top:auto;bottom:-1px;margin:0 0 0 -5px;border:5px solid transparent;border-top:7px solid var(--blue);border-bottom:0}
.page-ltc .anat-agent::after,.page-ltc .anat-parts::before,.page-ltc .anat-part::before{display:none}
.page-ltc .anat-parts{grid-template-columns:minmax(0,1fr);margin-top:20px}
}

/* The open agent stack */
.page-ltc .stack{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.page-ltc .stack-band{display:grid;grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:28px;align-items:center;padding:22px 24px;background:var(--u)}
.page-ltc .stack-band--runtime{background:rgba(122,180,255,.07)}
.page-ltc .stack-band--protocols{background:rgba(122,180,255,.095)}
.page-ltc .stack-band--tools{background:var(--base);box-shadow:inset 0 1px 0 rgba(122,180,255,.45)}
.page-ltc .stack-name{display:flex;align-items:flex-start;gap:16px}
.page-ltc .stack-name .fig-text{margin-top:4px}
.page-ltc .stack-cells{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:8px}
.page-ltc .stack-cells li{display:flex;align-items:center;justify-content:center;min-height:52px;padding:10px 12px;background:var(--well);color:#dfe7f5;font-size:.9375rem;line-height:1.3;text-align:center;text-wrap:balance}
.page-ltc .stack-band--protocols .stack-cells li{color:var(--white);font-weight:600}
.page-ltc .ltc-figure .stack-main .explored-in{margin-top:12px;padding-top:0;border-top:0}
.page-ltc .ltc-figure .stack-main .explored-in>span{flex-basis:auto;margin:0 4px 0 0}
@media(max-width:1099px){.page-ltc .stack-band{grid-template-columns:minmax(0,1fr);gap:18px}}
@media(max-width:599px){.page-ltc .stack-cells{grid-template-columns:repeat(2,minmax(0,1fr))}.page-ltc .stack-band{padding:20px}}

/* API styles */
.page-ltc .api-figure{display:grid;gap:32px}
.page-ltc .api-group-lead{margin:0 0 16px;color:var(--muted);font-size:.9375rem}
.page-ltc .api-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.page-ltc .api-card{display:flex;flex-direction:column;padding:22px;background:var(--u)}
.page-ltc .api-diagram{display:block;width:100%;height:auto;margin:16px 0 14px;padding:10px 6px;background:var(--well);color:#c4cee0;overflow:visible}
.page-ltc .api-diagram .bx{fill:rgba(122,180,255,.12);stroke:rgba(122,180,255,.5);stroke-width:1}
.page-ltc .api-diagram .bx--soft{fill:none;stroke-dasharray:3 3}
.page-ltc .api-diagram .bt{fill:#eef2fa;font:600 11px/1 var(--font-body)}
.page-ltc .api-diagram .lb{fill:#a9b4cb;font:400 10.5px/1 var(--font-body)}
.page-ltc .api-diagram .ln{stroke:var(--blue);stroke-width:1.5}
.page-ltc .api-diagram .ah{fill:var(--blue)}
.page-ltc .api-diagram .pipe{fill:rgba(122,180,255,.08);stroke:rgba(122,180,255,.45)}
.page-ltc .api-card .chips{margin-top:auto;padding-top:14px}
@media(max-width:1099px){.page-ltc .api-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.page-ltc .api-cards{grid-template-columns:minmax(0,1fr)}}

/* How MCP works */
.page-ltc .mcp{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,170px) minmax(0,1.2fr);grid-template-rows:auto repeat(3,auto);row-gap:8px;align-items:center}
.page-ltc .mcp-host-bg{grid-area:1/1/5/2;align-self:stretch;margin-bottom:-0px;background:var(--base);box-shadow:inset 0 1px 0 rgba(122,180,255,.45)}
.page-ltc .mcp-host-head{grid-area:1/1/2/2;position:relative;display:flex;align-items:flex-start;gap:16px;padding:22px 24px 8px}
.page-ltc .mcp-servers-label{grid-area:1/3/2/4;align-self:end;margin:0 0 4px!important}
.page-ltc .mcp-client{grid-column:1;grid-row:var(--r);position:relative;margin:0 24px;padding:14px 16px;background:var(--well);color:var(--white);font-weight:600;text-align:center}
.page-ltc .mcp-client:nth-of-type(3){}
.page-ltc .mcp-conn{grid-column:2;grid-row:var(--r);position:relative;display:flex;flex-direction:column;align-items:center;gap:8px}
.page-ltc .mcp-conn i{position:relative;display:block;width:100%;height:2px;background:rgba(122,180,255,.6)}
.page-ltc .mcp-conn i::before,.page-ltc .mcp-conn i::after{content:"";position:absolute;top:50%;margin-top:-5px;border:5px solid transparent}
.page-ltc .mcp-conn i::before{left:-1px;border-right:7px solid var(--blue);border-left:0}
.page-ltc .mcp-conn i::after{right:-1px;border-left:7px solid var(--blue);border-right:0}
.page-ltc .mcp-conn span{position:absolute;top:10px;color:var(--muted);font-size:.75rem;white-space:nowrap}
.page-ltc .mcp-server{grid-column:3;grid-row:var(--r);display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--u)}
.page-ltc .ltc-figure .mcp-server .icon-tile{width:40px;height:40px;border-radius:10px}
.page-ltc .ltc-figure .mcp-server .icon-tile svg{width:20px;height:20px}
.page-ltc .mcp-server>div{flex:1;min-width:0}
.page-ltc .mcp-kind{display:block;color:var(--muted);font-size:.8125rem}
.page-ltc .mcp-tr{padding:4px 10px;border-radius:999px;background:rgba(122,180,255,.12);color:#d7e2f4;font-size:.8125rem;white-space:nowrap}
.page-ltc .mcp-figure>.mcp{margin-bottom:0}
.page-ltc .mcp-host-bg{margin-bottom:0}
.page-ltc .mcp{padding-bottom:0}
.page-ltc .mcp-client:last-of-type{margin-bottom:24px}
.page-ltc .mcp-prims{margin-top:8px;padding:22px 24px 24px;background:var(--well)}
.page-ltc .mcp-prims ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.page-ltc .mcp-prims li{display:flex;align-items:flex-start;gap:14px;padding:18px;background:var(--u)}
.page-ltc .mcp-prims li:last-child{background:rgba(122,180,255,.1)}
.page-ltc .ltc-figure .mcp-prims .icon-tile{width:40px;height:40px;border-radius:10px}
.page-ltc .ltc-figure .mcp-prims .icon-tile svg{width:20px;height:20px}
.page-ltc .mcp-prims strong{display:block;color:var(--white);font-size:1rem}
.page-ltc .mcp-prims .fig-text{margin-top:2px;font-size:.875rem}
@media(max-width:1099px){.page-ltc .mcp-prims ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
.page-ltc .mcp{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.page-ltc .mcp-host-bg{display:none}
.page-ltc .mcp-host-head{padding:20px;background:var(--base);box-shadow:inset 0 1px 0 rgba(122,180,255,.45)}
.page-ltc .mcp-client{margin:0}
.page-ltc .mcp-client:last-of-type{margin-bottom:0}
.page-ltc .mcp-conn{flex-direction:row;justify-content:center;gap:14px;min-height:56px}
.page-ltc .mcp-conn[aria-hidden]{display:none}
.page-ltc .mcp-conn i{width:2px;height:56px}
.page-ltc .mcp-conn i::before{left:50%;top:-1px;margin:0 0 0 -5px;border:5px solid transparent;border-bottom:7px solid var(--blue);border-top:0}
.page-ltc .mcp-conn i::after{left:50%;right:auto;top:auto;bottom:-1px;margin:0 0 0 -5px;border:5px solid transparent;border-top:7px solid var(--blue);border-bottom:0}
.page-ltc .mcp-conn span{position:static}
.page-ltc .mcp-servers-label{margin:8px 0 0!important}
.page-ltc .mcp-server{flex-wrap:wrap}
.page-ltc .mcp-prims{padding:18px}
.page-ltc .mcp-prims ul{grid-template-columns:minmax(0,1fr)}
}
@media print{.page-ltc .ltc-figure :is(.era,.evo-col,.anat-part,.stack-band,.proto-card,.api-card,.mcp-prims li,.fx-row){break-inside:avoid}}

/* 2026-11-07.3: twelve chapters no longer fit on one row; parts wrap as whole groups */
@media(min-width:1250px){.page-ltc .chapter-parts{flex-wrap:wrap;row-gap:24px}}
@media(max-width:767px){.page-ltc .cmp .cell-label{position:static;display:block;width:auto;height:auto;margin:0 0 4px;overflow:visible;clip-path:none;white-space:normal;color:var(--blue);font:600 .75rem/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}}

/* 2026-11-07.3 round 2 */
/* Protocol map: five actors, fourteen protocols in five jobs */
.page-ltc .pm{--cols:minmax(240px,1.5fr) repeat(5,minmax(0,1fr))}
.page-ltc .pm-head,.page-ltc .pm-row{display:grid;grid-template-columns:var(--cols);column-gap:0}
.page-ltc .pm-head{padding-bottom:12px}
.page-ltc .pm-actor{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 6px;text-align:center}
.page-ltc .ltc-figure .pm-actor .icon-tile{width:40px;height:40px;border-radius:10px;margin-bottom:4px}
.page-ltc .ltc-figure .pm-actor .icon-tile svg{width:20px;height:20px}
.page-ltc .pm-actor strong{color:var(--white);font-size:.9375rem;line-height:1.25}
.page-ltc .pm-actor small{color:var(--muted);font-size:.8125rem;line-height:1.35}
.page-ltc .pm-body{display:grid;gap:4px}
.page-ltc .pm-job{display:flex;align-items:baseline;gap:14px;padding:22px 0 8px}
.page-ltc .pm-job:first-child{padding-top:8px}
.page-ltc .pm-job .fig-label{margin:0}
.page-ltc .pm-q{margin:0;color:var(--muted);font-size:.9375rem}
.page-ltc .pm-row{background:var(--u);align-items:stretch}
.page-ltc .pm-name{padding:14px 20px}
.page-ltc .pm-name strong{display:block;color:var(--white);font-size:1rem}
.page-ltc .pm-name p{margin:2px 0 0;color:#c4cee0;font-size:.875rem;line-height:1.5;text-wrap:pretty}
.page-ltc .pm-name .pm-who{display:none}
.page-ltc .pm-track{grid-column:2/-1;position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.page-ltc .pm-track::before{content:"";position:absolute;top:50%;height:2px;margin-top:-1px;background:var(--blue);opacity:.75;
 left:calc((var(--a) + .5) * 20%);right:calc((4.5 - var(--b)) * 20%)}
.page-ltc .pm-slot{position:relative;display:block}
.page-ltc .pm-slot::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(122,180,255,.12)}
.page-ltc .pm-slot--on::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(122,180,255,.18)}
.page-ltc .pm-note{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin:16px 0 0;color:var(--muted);font-size:.875rem}
.page-ltc .ltc-figure .pm-note .explored-in{margin:0;padding:0;border:0}
@media(max-width:899px){
.page-ltc .pm-head{display:none}
.page-ltc .pm-row{grid-template-columns:minmax(0,1fr)}
.page-ltc .pm-track{display:none}
.page-ltc .pm-name{padding:14px 18px}
.page-ltc .pm-name .pm-who{display:block;margin-top:8px;color:var(--blue);font-size:.8125rem;font-weight:600}
.page-ltc .pm-job{flex-direction:column;gap:2px}
}

/* Washing-machine quote */
.page-ltc .wm{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:8px}
.page-ltc .wm-quote{display:flex;flex-direction:column;justify-content:center;gap:20px;padding:36px 40px;background:var(--base);box-shadow:inset 0 1px 0 rgba(122,180,255,.45)}
.page-ltc .wm blockquote{margin:0}
.page-ltc .wm blockquote p{margin:0;color:var(--white);font:600 clamp(1.5rem,2.3vw,2rem)/1.25 var(--font-display,var(--font-body));letter-spacing:-.01em;text-wrap:balance}
.page-ltc .wm-close{margin:0;color:#c4cee0;font-size:1.0625rem;line-height:1.55;max-width:44ch}
.page-ltc .wm-side{display:flex;flex-direction:column;gap:16px;padding:28px 28px 24px;background:var(--u)}
.page-ltc .wm-side .fig-label{margin:0}
.page-ltc .wm-tasks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.page-ltc .wm-tasks li{padding:9px 12px;background:var(--well);color:#dfe7f5;font-size:.875rem;line-height:1.3}
.page-ltc .wm-stat{display:flex;flex-direction:column;gap:4px;margin-top:auto;padding-top:16px;border-top:1px solid rgba(122,180,255,.2)}
.page-ltc .wm-stat strong{color:var(--white);font:600 1.75rem/1.1 var(--font-body);font-variant-numeric:tabular-nums}
.page-ltc .wm-stat span{color:#c4cee0;font-size:.9375rem;line-height:1.5}
.page-ltc .wm-cite{margin:10px 0 0;color:var(--muted);font-size:.875rem}
.page-ltc .wm-figure+.protocol-layers{margin-top:28px}
@media(max-width:899px){.page-ltc .wm{grid-template-columns:minmax(0,1fr)}.page-ltc .wm-quote{padding:26px 22px}.page-ltc .wm-side{padding:22px 18px}}

/* Where the logic lives */
.page-ltc .lg-groups,.page-ltc .lg{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.page-ltc .lg-group{padding:0 0 8px;border-bottom:2px solid rgba(122,180,255,.45);color:var(--blue);font:600 var(--eyebrow-size)/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.page-ltc .lg{list-style:none;margin:12px 0 0;padding:0}
.page-ltc .lg-card{display:flex;flex-direction:column;padding:18px 14px 16px;background:var(--u)}
.page-ltc .lg-card--base{background:rgba(122,180,255,.035)}
.page-ltc .lg-card .evo-no{margin-bottom:8px}
.page-ltc .lg-title{min-height:3.9em;color:var(--white);font:600 .9375rem/1.3 var(--font-body);text-wrap:balance}
.page-ltc .lg-stack{display:flex;flex-direction:column;margin-top:12px}
.page-ltc .lg-layer{display:flex;flex-direction:column;align-items:center;gap:6px;padding:9px 8px;background:var(--well);color:#dfe7f5;font-size:.8125rem;line-height:1.25;text-align:center}
.page-ltc .lg-layer em{display:block;width:100%;padding:5px 6px;background:rgba(122,180,255,.22);color:var(--white);font-style:normal;font-weight:600;font-size:.75rem}
.page-ltc .lg-layer--agent,.page-ltc .lg-layer--app{background:var(--base);color:var(--white);font-weight:600}
.page-ltc .lg-layer--mcp{background:rgba(122,180,255,.14);color:var(--white)}
.page-ltc .lg-multi{flex-direction:row;gap:4px;padding:0;background:none}
.page-ltc .lg-multi span{flex:1;min-width:0;padding:8px 0;background:var(--well);font-size:.75rem;font-weight:600}
.page-ltc .lg-layer--mcp.lg-multi{background:none}
.page-ltc .lg-layer--mcp.lg-multi span{background:rgba(122,180,255,.14)}
.page-ltc .lg-arrow{height:16px}
.page-ltc .lg-stack .lg-layer--api{margin-top:auto}
.page-ltc .lg-scale{position:relative;display:flex;justify-content:space-between;gap:24px;margin:16px 0 0;padding-top:14px;color:var(--muted);font-size:.875rem}
.page-ltc .lg-scale::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,rgba(122,180,255,.15),var(--blue))}
.page-ltc .lg-scale::after{content:"";position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left:7px solid var(--blue);border-right:0}
.page-ltc .lg-scale span:last-child{text-align:right}
@media(max-width:1099px){
.page-ltc .lg-groups{display:none}
.page-ltc .lg{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:767px){.page-ltc .lg{grid-template-columns:repeat(2,minmax(0,1fr))}.page-ltc .lg-title{min-height:0}}
@media(max-width:419px){.page-ltc .lg{grid-template-columns:minmax(0,1fr)}}

/* Security: how the threat changed (grouped comparison) */
.page-ltc .cmp .cmp-group th{padding:18px 0 2px;text-align:left;color:var(--white);font:600 1.0625rem/1.3 var(--font-body);letter-spacing:0;text-transform:none}
.page-ltc .cmp tbody:first-of-type .cmp-group th{padding-top:4px}
.page-ltc .cmp-impact{display:flex;align-items:baseline;gap:16px;margin:16px 0 0;padding:16px 24px;background:var(--well);color:#dfe7f5;font-size:1rem;line-height:1.5}
.page-ltc .cmp-impact strong{color:var(--blue);font:600 var(--eyebrow-size)/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
@media(max-width:767px){
.page-ltc .cmp tbody{display:block}
.page-ltc .cmp .cmp-group{display:block;margin:8px 0 4px}
.page-ltc .cmp .cmp-group th{display:block;padding:12px 0 0}
.page-ltc .cmp-impact{flex-direction:column;gap:4px;padding:14px 18px}
}
@media print{.page-ltc .ltc-figure :is(.pm-row,.lg-card,.wm){break-inside:avoid}}
/* round 2 polish */
.page-ltc .pm-head,.page-ltc .pm-row,.page-ltc .pm-job{column-gap:16px}
.page-ltc .pm{--cols:minmax(250px,1.45fr) repeat(5,minmax(0,1fr))}
.page-ltc .pm-track{grid-column:2/-1;column-gap:0}
.page-ltc .pm-job{display:grid;grid-template-columns:var(--cols);align-items:end;padding:26px 0 8px}
.page-ltc .pm-job>div{display:flex;flex-direction:column;gap:2px}
.page-ltc .pm-job-actors{grid-column:2/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));color:var(--muted);font-size:.75rem;text-align:center}
.page-ltc .pm-slot--via::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#0f1a30;box-shadow:0 0 0 1.5px var(--blue)}
.page-ltc .pm-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 4px;color:#c4cee0;font-size:.8125rem}
.page-ltc .pm-key{display:inline-block;margin-left:8px}
.page-ltc .pm-key:first-child{margin-left:0}
.page-ltc .pm-key--on{width:12px;height:12px;border-radius:50%;background:var(--blue)}
.page-ltc .pm-key--via{width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 1.5px var(--blue)}
.page-ltc .pm-key--line{width:28px;height:2px;background:var(--blue)}
@media(max-width:899px){.page-ltc .pm-job{display:flex}.page-ltc .pm-job-actors,.page-ltc .pm-legend{display:none}}
.page-ltc .lg-sub{display:block;margin-top:2px;color:var(--muted);font-size:.8125rem}
.page-ltc .lg-title{min-height:2.6em}
.page-ltc .lg-stack{display:grid;grid-template-rows:64px 18px 64px 18px 64px 18px 36px;margin-top:14px}
.page-ltc .lg-stack>.lg-layer{justify-content:center;height:100%;box-sizing:border-box}
.page-ltc .lg-stack .lg-layer--api{margin-top:0}
.page-ltc .lg-skip{position:relative;display:block}
.page-ltc .lg-skip::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1.5px;margin-left:-.75px;background:rgba(122,180,255,.6)}
.page-ltc .lg-arrow{height:auto}
.page-ltc .lg-layer em.lg-model{background:none;box-shadow:inset 0 0 0 1px rgba(122,180,255,.6);color:var(--white)}
.page-ltc .lg-layer{font-size:.875rem}
@media(max-width:767px){.page-ltc .lg-title{min-height:0}}
.page-ltc .wm-tasks{grid-auto-rows:1fr}
.page-ltc .wm-tasks li{display:flex;align-items:center}
.page-ltc .wm-stat{order:-1;margin-top:0;padding:0 0 16px;border-top:0;border-bottom:1px solid rgba(122,180,255,.2)}
.page-ltc .wm-stat strong{color:var(--blue);font-size:2.25rem}
.page-ltc .cmp .cmp-group th{padding-top:30px}
.page-ltc .cmp-impact{background:var(--base);box-shadow:inset 0 1px 0 rgba(122,180,255,.45);color:var(--white);font-size:1.0625rem;font-weight:500}
.page-ltc .pm-head,.page-ltc .pm-row,.page-ltc .pm-job{column-gap:0}
.page-ltc .pm-name,.page-ltc .pm-job>div{padding-right:28px}
.page-ltc .pm-job-actors{color:#a9b4cb;font-size:.8125rem}
.page-ltc .pm-slot--via::after{width:10px;height:10px;margin:-5px 0 0 -5px;box-shadow:0 0 0 2px var(--blue)}
.page-ltc .pm-legend{margin-bottom:10px}
.page-ltc .lg-arrow:has(+ .lg-skip)::after{display:none}
.page-ltc .lg-arrow::before{top:0}
.page-ltc .lg-arrow:has(+ .lg-skip)::before{bottom:0}
@media(max-width:899px){.page-ltc .pm-job{align-items:flex-start}.page-ltc .pm-name,.page-ltc .pm-job>div{padding-right:0}}
.page-ltc .mcp-tr--wrap{white-space:normal;text-align:center;max-width:100%;line-height:1.3}

/* How the protocols connect (agentic commerce) */
.page-ltc .proto{display:grid;grid-template-columns:minmax(0,1fr) 128px minmax(0,1fr) 128px minmax(0,1.15fr);
 grid-template-areas:"user ex ex ex ex" "ag1 c1 ag2 c2 ucp" "m1 . m2 . own" "t1 . t2 . be" "pay pay pay pay pay";align-items:stretch}
.page-ltc .proto-user{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:36px;padding:14px 18px;background:var(--well);color:var(--white)}
.page-ltc .proto-user::before,.page-ltc .proto-user::after{content:"";position:absolute;top:100%;height:36px;width:2px;background:rgba(122,180,255,.6)}
.page-ltc .proto-user::before{left:30%}.page-ltc .proto-user::after{left:70%}
.page-ltc .proto-q{color:var(--blue);font:600 .75rem/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.page-ltc .proto-card{display:flex;flex-direction:column;padding:22px;background:var(--base);box-shadow:inset 0 1px 0 rgba(122,180,255,.45)}
.page-ltc .proto-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.page-ltc .proto-head span{display:block;margin-top:2px;color:var(--muted);font-size:.875rem}
.page-ltc .proto-wells,.page-ltc .proto-caps{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.page-ltc .proto-wells li{padding:10px 12px;background:var(--well);color:#dfe7f5;font-size:.9375rem;text-align:center}
.page-ltc .proto-cap-label{margin:0 0 8px;color:var(--blue);font:600 .75rem/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.page-ltc .proto-caps{grid-template-columns:1fr 1fr}
.page-ltc .proto-caps li{padding:8px 10px;background:var(--well);color:#dfe7f5;font-size:.875rem;line-height:1.3}
.page-ltc .proto-pay{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px;background:rgba(122,180,255,.12)}
.page-ltc .ltc-figure .proto-pay .icon-tile{width:36px;height:36px;border-radius:10px}
.page-ltc .ltc-figure .proto-pay .icon-tile svg{width:18px;height:18px}
.page-ltc .proto-pay strong{display:block;color:var(--white);font-size:.9375rem}
.page-ltc .proto-pay span{display:block;color:var(--muted);font-size:.8125rem;line-height:1.4}
.page-ltc .proto-link{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0 10px;text-align:center}
.page-ltc .proto-link strong{color:var(--white);font-size:1rem;letter-spacing:.02em}
.page-ltc .proto-link span{order:2;margin-top:12px;color:var(--muted);font-size:.75rem;line-height:1.3}
.page-ltc .proto-link i{order:1;position:relative;display:block;width:100%;height:2px;margin-top:10px;background:rgba(122,180,255,.6)}
.page-ltc .proto-link i::before,.page-ltc .proto-link i::after{content:"";position:absolute;top:50%;margin-top:-5px;border:5px solid transparent}
.page-ltc .proto-link i::before{left:-1px;border-right:7px solid var(--blue);border-left:0}
.page-ltc .proto-link i::after{right:-1px;border-left:7px solid var(--blue);border-right:0}
.page-ltc .proto-link--v{flex-direction:row;justify-content:center;gap:14px;min-height:76px;padding:0}
.page-ltc .proto-link--v i{order:0;width:2px;height:76px;margin:0}
.page-ltc .proto-link--v i::before{left:50%;top:-1px;margin:0 0 0 -5px;border:5px solid transparent;border-bottom:7px solid var(--blue);border-top:0}
.page-ltc .proto-link--v i::after{left:50%;right:auto;top:auto;bottom:-1px;margin:0 0 0 -5px;border:5px solid transparent;border-top:7px solid var(--blue);border-bottom:0}
.page-ltc .proto-link--v span{order:2;margin:0;text-align:left;max-width:12ch}
.page-ltc .proto-link--v strong{order:1}
.page-ltc .proto-tools{display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:var(--u);text-align:center}
.page-ltc .proto-tools strong{color:var(--white);font-size:.9375rem}
.page-ltc .proto-tools span{color:var(--muted);font-size:.8125rem;line-height:1.4}
@media(max-width:1099px){
.page-ltc .proto{display:flex;flex-direction:column;max-width:560px}
.page-ltc .proto-user::after{display:none}.page-ltc .proto-user::before{left:50%}
.page-ltc .proto-link{flex-direction:row;justify-content:center;gap:14px;min-height:76px;padding:0}
.page-ltc .proto-link i{order:0;width:2px;height:76px;margin:0}
.page-ltc .proto-link i::before{left:50%;top:-1px;margin:0 0 0 -5px;border:5px solid transparent;border-bottom:7px solid var(--blue);border-top:0}
.page-ltc .proto-link i::after{left:50%;right:auto;top:auto;bottom:-1px;margin:0 0 0 -5px;border:5px solid transparent;border-top:7px solid var(--blue);border-bottom:0}
.page-ltc .proto-link span{order:2;margin:0;text-align:left;max-width:14ch}
.page-ltc .proto-link strong{order:1}
.page-ltc .proto-tools+.proto-link{margin-top:20px}
}

.page-ltc .proto-example{display:flex;flex-direction:column;justify-content:center;gap:4px;margin:0 0 36px 28px;padding:12px 20px;background:var(--u);color:#dfe7f5;font-size:.9375rem;line-height:1.45;font-style:italic}
.page-ltc .proto-example span{color:var(--blue);font:600 .75rem/1.4 var(--font-body);font-style:normal;letter-spacing:.08em;text-transform:uppercase}
.page-ltc .proto-card--ucp{background:var(--u);box-shadow:inset 0 0 0 1px rgba(122,180,255,.55)}
.page-ltc .proto-card--ucp .proto-caps li{background:rgba(122,180,255,.12)}
.page-ltc .proto-cap-note{margin:12px 0 0;color:#c4cee0;font-size:.8125rem;line-height:1.45}
.page-ltc .proto-link--plain i{background:rgba(122,180,255,.3)}
.page-ltc .proto-link--plain i::before,.page-ltc .proto-link--plain i::after{display:none}
.page-ltc .proto-link--plain strong{color:#c4cee0;font-size:.875rem;font-weight:600;letter-spacing:0}
.page-ltc .proto-ap2{margin-top:28px;padding:22px 24px;background:var(--base);box-shadow:inset 0 1px 0 rgba(122,180,255,.45)}
.page-ltc .proto-ap2-head{display:flex;align-items:center;gap:14px}
.page-ltc .proto-ap2-head strong{display:block;color:var(--white);font-size:1rem}
.page-ltc .proto-ap2-head span{display:block;margin-top:2px;color:#c4cee0;font-size:.875rem;line-height:1.45}
.page-ltc .proto-ap2-steps{position:relative;list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.page-ltc .proto-ap2-steps::before{content:"";position:absolute;left:12.5%;right:12.5%;top:20px;height:2px;background:rgba(122,180,255,.6)}
.page-ltc .proto-ap2-steps li{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}
.page-ltc .ltc-figure .proto-ap2-steps .icon-tile{width:40px;height:40px;border-radius:10px;margin-bottom:8px}
.page-ltc .ltc-figure .proto-ap2-steps .icon-tile svg{width:20px;height:20px}
.page-ltc .proto-ap2-steps strong{color:var(--white);font-size:.9375rem;line-height:1.3}
.page-ltc .proto-ap2-steps span{color:var(--muted);font-size:.8125rem;line-height:1.4}
.page-ltc .proto-figure+.protocol-layers{margin-top:28px}
@media(max-width:1099px){
.page-ltc .proto-example{margin:0 0 20px}
.page-ltc .proto-user{margin-bottom:12px}.page-ltc .proto-user::before{display:none}
.page-ltc .proto-ap2{margin-top:20px}
}
@media(max-width:599px){
.page-ltc .proto-ap2{padding:18px}
.page-ltc .proto-ap2-steps{grid-template-columns:minmax(0,1fr);gap:14px}
.page-ltc .proto-ap2-steps::before{left:20px;right:auto;top:20px;bottom:20px;width:2px;height:auto}
.page-ltc .proto-ap2-steps li{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:14px;align-items:center;text-align:left}
.page-ltc .ltc-figure .proto-ap2-steps .icon-tile{grid-row:span 2;margin:0}
}
/* round 3 polish */
.page-ltc .proto{grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr) 150px minmax(0,1.15fr)}
.page-ltc .proto-link:not(.proto-link--v) span{min-height:2.8em}
.page-ltc .proto-m{display:none;font-style:normal}
.page-ltc .proto-card .proto-wells{margin-top:auto}
.page-ltc .proto-card--ucp .proto-caps li{text-align:center}
.page-ltc .proto-example{position:relative}
.page-ltc .proto-example::before{content:"";position:absolute;left:-28px;top:50%;width:28px;border-top:2px dashed rgba(122,180,255,.5)}
.page-ltc .proto-link--plain i{background:none;border-left:2px dashed rgba(122,180,255,.45);width:0}
.page-ltc .proto-link--plain span{max-width:16ch}
.page-ltc .proto-ap2{margin-top:48px}
.page-ltc .proto-figure+.protocol-layers{margin-top:48px}
.page-ltc .proto-ap2-steps::after{content:"";position:absolute;right:calc(12.5% - 2px);top:16px;border:5px solid transparent;border-left:7px solid var(--blue);border-right:0}
.page-ltc .proto-ap2-steps li{padding-top:0}
.page-ltc .proto-ap2-no{position:absolute;top:-4px;left:calc(50% + 18px);display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--blue);color:#0b1222;font:700 .75rem/1 var(--font-body)}
@media(max-width:1099px){
.page-ltc .proto-m{display:inline}
.page-ltc .proto-link span,.page-ltc .proto-link--v span{max-width:22ch;min-height:0}
.page-ltc .proto-example::before{display:none}
.page-ltc .proto-link--plain i{width:0}
.page-ltc .proto-link--plain span{max-width:22ch}
}
@media(max-width:599px){
.page-ltc .proto-ap2-steps::after{display:none}
.page-ltc .proto-ap2-no{top:-6px;left:28px}
}
.page-ltc .proto-ap2-steps::after{display:none}
.page-ltc .proto-link--plain i{width:2px;border-left:0;background:repeating-linear-gradient(to bottom,rgba(122,180,255,.55) 0 6px,transparent 6px 11px)}
@media(min-width:1100px){.page-ltc .proto-user::before{left:40px}.page-ltc .proto-user::after{left:auto;right:52px}}

/* Gateway architecture across the layers */
.page-ltc .gw-figure{--cols:minmax(0,1fr) minmax(0,.8fr) minmax(0,1.6fr) minmax(0,1fr)}
.page-ltc .gw-head,.page-ltc .gw-row{display:grid;grid-template-columns:var(--cols);gap:4px}
.page-ltc .gw-head{padding:0 0 10px}
.page-ltc .gw-head span{padding:0 18px;color:var(--blue);font:600 var(--eyebrow-size)/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.page-ltc .gw-body{display:grid;gap:4px}
.page-ltc .gw-layer{display:flex;align-items:baseline;gap:14px;padding:22px 0 6px}
.page-ltc .gw-layer:first-child{padding-top:4px}
.page-ltc .gw-layer .fig-label{margin:0;text-decoration:none}
.page-ltc .gw-layer .fig-label:hover{text-decoration:underline}
.page-ltc .gw-layer span{color:var(--muted);font-size:.9375rem}
.page-ltc .gw-row>div{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:14px 18px;background:var(--u);color:#dfe7f5;font-size:.9375rem;line-height:1.45}
.page-ltc .gw-lab{display:none}
.page-ltc .gw-who strong{color:var(--white);font-size:.9375rem}
.page-ltc .gw-who small{color:var(--muted);font-size:.8125rem}
.page-ltc .gw-row>.gw-edge{align-items:center;text-align:center;color:var(--muted);font-size:.8125rem}
.page-ltc .gw-row>.gw-edge--on{background:rgba(122,180,255,.16);color:var(--white);font-weight:600}
.page-ltc .gw-row>.gw-gw{background:var(--base);box-shadow:inset 0 1px 0 rgba(122,180,255,.45)}
.page-ltc .gw-gw strong{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--white);font-size:1rem}
.page-ltc .gw-gw p{margin:0;color:#c4cee0;font-size:.875rem;line-height:1.5}
.page-ltc .gw-row>.gw-reach{background:var(--well)}
.page-ltc .gw-built{display:inline-block;padding:2px 8px;border-radius:999px;background:rgba(122,180,255,.2);color:#cfe2ff;font:600 .75rem/1.4 var(--font-body);letter-spacing:.04em}
.page-ltc .gw-plat{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.page-ltc .gw-band{padding:16px 18px;background:var(--well)}
.page-ltc .gw-band strong{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--white);font-size:.9375rem}
.page-ltc .gw-band p{margin:4px 0 0;color:#c4cee0;font-size:.875rem;line-height:1.5}
.page-ltc .gw-band--waf{background:rgba(122,180,255,.16)}
.page-ltc .gw-note{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:16px 0 0;color:#c4cee0;font-size:.875rem;line-height:1.5}
.page-ltc .gw-note a{color:var(--blue)}
.page-ltc .gw-figure+.protocol-layers{margin-top:36px}
@media(max-width:1099px){.page-ltc .gw-plat{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:899px){
.page-ltc .gw-head{display:none}
.page-ltc .gw-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px}
.page-ltc .gw-row>.gw-gw{grid-column:1/-1;order:-1}
.page-ltc .gw-lab{display:block;color:var(--blue);font:600 .75rem/1.4 var(--font-body);letter-spacing:.06em;text-transform:uppercase}
.page-ltc .gw-row>.gw-edge{align-items:flex-start;text-align:left}
.page-ltc .gw-row>.gw-gw .gw-lab{display:none}
.page-ltc .gw-row{margin-bottom:8px}
.page-ltc .gw-layer{flex-direction:column;gap:2px}
}
@media(max-width:599px){
.page-ltc .gw-row{grid-template-columns:minmax(0,1fr)}
.page-ltc .gw-plat{grid-template-columns:minmax(0,1fr)}
}
@media print{.page-ltc .gw-row,.page-ltc .gw-band{break-inside:avoid}}
/* round 4 polish */
.page-ltc .gw-head,.page-ltc .gw-row{column-gap:22px}
.page-ltc .gw-head span{padding:0}
.page-ltc .gw-head span:nth-child(2){text-align:center}
.page-ltc .gw-row>div{position:relative}
.page-ltc .gw-row>div:not(:last-child)::after{content:"";position:absolute;right:-17px;top:50%;margin-top:-5px;border:5px solid transparent;border-left:7px solid rgba(122,180,255,.7);border-right:0}
.page-ltc .gw-row>.gw-reach{background:rgba(122,180,255,.07);box-shadow:inset 0 0 0 1px rgba(122,180,255,.18)}
.page-ltc .gw-gw strong{justify-content:space-between}
.page-ltc .gw-row--legacy>div{opacity:.78}
.page-ltc .gw-row--legacy>.gw-gw{background:var(--u);box-shadow:inset 0 0 0 1px rgba(122,180,255,.25)}
.page-ltc .gw-note{display:block;margin:0 0 18px}
.page-ltc .gw-note .gw-built{margin-right:6px}
.page-ltc .gw-who small,.page-ltc .gw-row>.gw-edge{color:#a9b4cb}
@media(max-width:899px){.page-ltc .gw-row{column-gap:4px}.page-ltc .gw-row>div::after{display:none}.page-ltc .gw-lab{color:#8fbfff}}
@media(min-width:1100px){.page-ltc .ltc-figure.dx-figure .cart-flow{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}}
.page-ltc .dx-figure .cart-flow{counter-reset:dx}
.page-ltc .dx-figure .cart-step{counter-increment:dx}
.page-ltc .ltc-figure.dx-figure .cart-step-head::after{content:counter(dx,decimal-leading-zero);color:var(--blue);font:600 .875rem/1 var(--font-body);font-variant-numeric:tabular-nums;letter-spacing:.04em}
.page-ltc .gw-band strong{justify-content:space-between}
.page-ltc .gw-band{background:var(--u)}
.page-ltc .gw-band--waf{background:rgba(122,180,255,.16)}
.page-ltc .dx-figure .cart-tasks li{text-wrap:pretty}
.page-ltc .dx-figure .cart-tasks{row-gap:12px}

/* At home page */
.page-ltc .thesis-more{margin:20px 0 0;font-size:1rem}
.page-ltc .thesis-more a{color:var(--blue);font-weight:600;text-decoration:none}
.page-ltc .thesis-more a:hover{text-decoration:underline}
.page-home .home-map{margin-top:clamp(40px,5vw,64px)}
/* The house in four layers */
.page-ltc .hl{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.page-ltc .hl-row{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1.3fr) minmax(0,1.2fr);gap:4px}
.page-ltc .hl-row>*{padding:20px 22px;background:var(--u)}
.page-ltc .hl-layer{display:flex;align-items:center;gap:14px;background:var(--base);box-shadow:inset 0 1px 0 rgba(122,180,255,.45);color:inherit;text-decoration:none}
.page-ltc .hl-layer:hover strong{text-decoration:underline}
.page-ltc .hl-layer strong{display:block;color:var(--white);font-size:1.0625rem}
.page-ltc .hl-layer small{display:block;margin-top:2px;color:#c4cee0;font-size:.875rem;line-height:1.4}
.page-ltc .hl-lab{display:block;margin-bottom:10px;color:var(--blue);font:600 .75rem/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.page-ltc .hl-what .chips{margin:0}
.page-ltc .hl-why{background:var(--well)}
.page-ltc .hl-why p{margin:0;color:#dfe7f5;font-size:.9375rem;line-height:1.55;text-wrap:pretty}
@media(max-width:999px){.page-ltc .hl-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.page-ltc .hl-layer{grid-column:1/-1}}
@media(max-width:599px){.page-ltc .hl-row{grid-template-columns:minmax(0,1fr)}.page-ltc .hl-row>*{padding:16px 18px}}
/* What my agent may do */
.page-ltc .al-scale{position:relative;display:flex;justify-content:space-between;gap:24px;margin:0 0 18px;padding-bottom:14px;color:#c4cee0;font-size:.875rem}
.page-ltc .al-scale::before{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--blue),rgba(122,180,255,.15))}
.page-ltc .al-scale::after{content:"";position:absolute;right:-1px;bottom:-4px;border:5px solid transparent;border-left:7px solid rgba(122,180,255,.5);border-right:0}
.page-ltc .al{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.page-ltc .al-col{display:flex;flex-direction:column;padding:22px 20px;background:var(--u)}
.page-ltc .al-col--0{background:var(--base);box-shadow:inset 0 1px 0 rgba(122,180,255,.45)}
.page-ltc .al-col--3{background:var(--well);box-shadow:inset 0 0 0 1px rgba(122,180,255,.22)}
.page-ltc .ltc-figure .al-col .icon-tile{margin-bottom:14px}
.page-ltc .al-col>strong{color:var(--white);font-size:1.0625rem;line-height:1.3}
.page-ltc .al-col>small{margin-top:4px;color:#c4cee0;font-size:.875rem;line-height:1.4}
.page-ltc .al-col ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:6px}
.page-ltc .al-col ul li{padding:9px 12px;background:rgba(122,180,255,.08);color:#dfe7f5;font-size:.875rem;line-height:1.4}
.page-ltc .al-col--0 ul li{background:rgba(122,180,255,.14)}
@media(max-width:999px){.page-ltc .al{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.page-ltc .al{grid-template-columns:minmax(0,1fr)}.page-ltc .al-col{padding:18px}}
@media(min-width:1100px){.page-ltc .ltc-figure.mem4 .cart-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}}
@media print{.page-ltc .hl-row,.page-ltc .al-col{break-inside:avoid}}
@media(min-width:900px) and (max-width:1099px){.page-ltc .ltc-figure.mem4 .cart-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* review fixes */
.page-ltc .hl-head{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1.3fr) minmax(0,1.2fr);gap:4px;margin-bottom:10px}
.page-ltc .hl-head span{padding:0 22px;color:var(--blue);font:600 .75rem/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
@media(min-width:1000px){.page-ltc .hl-row .hl-lab{display:none}}
.page-ltc .hl-row{gap:6px}
.page-ltc .hl-layer{align-items:flex-start}
.page-ltc .hl-why{background:rgba(122,180,255,.07);box-shadow:inset 3px 0 0 rgba(122,180,255,.55)}
.page-ltc .hl-why p::first-line{color:var(--white)}
@media(max-width:999px){.page-ltc .hl-head{display:none}}
.page-ltc .al-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.page-ltc .ltc-figure .al-col .al-top .icon-tile{margin-bottom:0}
.page-ltc .al-lvl{color:var(--blue);font:600 .75rem/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:tabular-nums}
.page-ltc .al-col--1{background:rgba(122,180,255,.11)}
.page-ltc .al-col--2{background:rgba(122,180,255,.07)}
.page-ltc .al-col--3{background:var(--well);box-shadow:inset 0 0 0 1px rgba(255,190,160,.28)}
.page-ltc .al-col--3 .al-lvl{color:#ffcfb8}
.page-ltc .al-scale{color:#dfe7f5;font-weight:600}
.page-ltc .al-scale::before{height:3px;background:linear-gradient(90deg,var(--blue),rgba(255,190,160,.75))}
.page-ltc .al-scale::after{bottom:-3.5px;border-left-color:rgba(255,190,160,.85)}
.page-ltc .al{gap:10px}
.page-ltc .al-gate{margin:auto 0 0;padding-top:16px;border-top:1px solid rgba(122,180,255,.18);color:#dfe7f5;font-size:.875rem;font-weight:600;line-height:1.4}
.page-ltc .al-col ul{margin-bottom:18px}
.page-ltc .al-col--3 .al-gate{color:#ffcfb8;border-top-color:rgba(255,190,160,.3)}
.page-ltc .al-col>small,.page-ltc .hl-layer small{color:#cdd6e6}

/* Round 6: Gartner material, redrawn */
.page-ltc .src-cite{margin:18px 0 0;color:#a9b4cb;font-size:.8125rem;line-height:1.5}
.page-ltc .src-cite a{color:var(--blue)}
.page-ltc .ltc-figure+.ltc-figure{margin-top:-16px}
/* Matrix */
.page-ltc .mx,.page-ltc .mx-groups{display:grid;grid-template-columns:minmax(150px,.85fr) repeat(var(--n,4),minmax(0,1fr));gap:4px}
.page-ltc .mx-groups{margin-bottom:4px}
.page-ltc .mx-row{display:contents}
.page-ltc .mx-g{padding:8px 16px;background:rgba(122,180,255,.1);color:var(--blue);font:600 var(--eyebrow-size,.75rem)/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.page-ltc .mx-g--b{background:rgba(122,180,255,.2);color:#cfe2ff}
.page-ltc .mx-g--new{background:rgba(255,190,160,.16);color:#ffcfb8}
.page-ltc .mx-corner{padding:14px 16px 10px;color:var(--blue);font:600 .75rem/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase;align-self:end}
.page-ltc .mx-ch{display:flex;flex-direction:column;gap:3px;padding:14px 16px;background:var(--base);box-shadow:inset 0 1px 0 rgba(122,180,255,.45)}
.page-ltc .mx-ch strong{color:var(--white);font-size:.9375rem;line-height:1.3}
.page-ltc .mx-ch small,.page-ltc .mx-rh small{color:#c4cee0;font-size:.8125rem;line-height:1.4}
.page-ltc .mx-rh{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:14px 16px;background:var(--u)}
.page-ltc .mx-rh strong{color:var(--white);font-size:.9375rem}
.page-ltc .mx-c{display:flex;flex-direction:column;justify-content:center;padding:14px 16px;background:var(--u);color:#dfe7f5;font-size:.9375rem;line-height:1.45;text-wrap:pretty}
.page-ltc .mx-c ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.page-ltc .mx-c ul li{position:relative;padding-left:16px}
.page-ltc .mx-c ul li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--blue)}
.page-ltc .mx-none{color:#8d99b3;font-size:.875rem}
.page-ltc .mx-t0{background:rgba(122,180,255,.035)}
.page-ltc .mx-t1{background:rgba(122,180,255,.07)}
.page-ltc .mx-t2{background:rgba(122,180,255,.11)}
.page-ltc .mx-t3{background:rgba(122,180,255,.16)}
.page-ltc .mx-t4{background:rgba(122,180,255,.22);color:var(--white)}
.page-ltc .mx-c.mx-new{background:rgba(255,190,160,.07);box-shadow:inset 0 0 0 1px rgba(255,190,160,.18)}
.page-ltc .mx-c.mx-m{color:var(--white);font-weight:600}
.page-ltc .tr-figure .mx-ch:nth-child(n+4){background:rgba(255,190,160,.1);box-shadow:inset 0 1px 0 rgba(255,190,160,.5)}
.page-ltc .rm-figure .mx{grid-template-columns:minmax(170px,.7fr) repeat(2,minmax(0,1fr))}
.page-ltc .rm-figure .mx-c{justify-content:flex-start}
@media(max-width:899px){
.page-ltc .mx-groups,.page-ltc .mx-headrow{display:none}
.page-ltc .mx,.page-ltc .rm-figure .mx{display:block}
.page-ltc .mx-row{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin-bottom:10px}
.page-ltc .mx-c{display:grid;grid-template-columns:minmax(96px,.55fr) minmax(0,1fr);gap:12px;align-items:start}
.page-ltc .mx-c::before{content:attr(data-c);color:var(--blue);font:600 .75rem/1.5 var(--font-body);letter-spacing:.04em;text-transform:uppercase}
.page-ltc .mx-rh{background:var(--base);box-shadow:inset 0 1px 0 rgba(122,180,255,.45)}
}
@media(max-width:479px){.page-ltc .mx-c{grid-template-columns:minmax(0,1fr);gap:4px}}
/* Physical agents */
.page-ltc .pa{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.6fr);gap:clamp(20px,3vw,40px);align-items:center}
.page-ltc .pa-loop{position:relative;aspect-ratio:1;max-width:340px;width:100%;margin:0 auto}
.page-ltc .pa-loop::before{content:"";position:absolute;inset:16%;border:2px dashed rgba(122,180,255,.45);border-radius:50%}
.page-ltc .pa-loop ol{list-style:none;margin:0;padding:0}
.page-ltc .pa-n{position:absolute;display:flex;flex-direction:column;align-items:center;gap:6px;width:96px;color:var(--white);font-weight:600;font-size:.9375rem;text-align:center}
.page-ltc .ltc-figure .pa-n .icon-tile{margin:0}
.page-ltc .pa-n--0{left:50%;top:0;transform:translateX(-50%)}
.page-ltc .pa-n--1{right:0;top:50%;transform:translateY(-50%)}
.page-ltc .pa-n--2{left:50%;bottom:0;transform:translateX(-50%)}
.page-ltc .pa-n--3{left:0;top:50%;transform:translateY(-50%)}
.page-ltc .pa-core{position:absolute;inset:36%;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--base);box-shadow:inset 0 0 0 1px rgba(122,180,255,.45);color:var(--white);font:400 1.0625rem/1.2 var(--font-display);text-align:center}
.page-ltc .pa-fam{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.page-ltc .pa-fam>li{display:flex;flex-direction:column;gap:12px;padding:18px;background:var(--base);box-shadow:inset 0 1px 0 rgba(122,180,255,.45)}
.page-ltc .ltc-figure .pa-fam .icon-tile{margin:0}
.page-ltc .pa-fam strong{display:block;color:var(--white);font-size:1rem}
.page-ltc .pa-fam small{display:block;margin-top:4px;color:#c4cee0;font-size:.875rem;line-height:1.45}
.page-ltc .pa-lab,.page-ltc .ap-lab,.page-ltc .ap-sub{margin:0 0 10px;color:var(--blue);font:600 .75rem/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.page-ltc .pa .chips{margin:0}
@media(max-width:899px){.page-ltc .pa{grid-template-columns:minmax(0,1fr)}.page-ltc .pa-loop{max-width:300px}}
@media(max-width:599px){.page-ltc .pa-fam{grid-template-columns:minmax(0,1fr)}}
/* Agent platform */
.page-ltc .ap{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px}
.page-ltc .ap-outer,.page-ltc .ap-inner{padding:20px;background:var(--u)}
.page-ltc .ap-inner{background:rgba(255,190,160,.06);box-shadow:inset 0 0 0 1px rgba(255,190,160,.25)}
.page-ltc .ap-inner .ap-lab{color:#ffcfb8}
.page-ltc .ap-o{display:grid;grid-template-columns:minmax(96px,.45fr) minmax(0,1.6fr) minmax(96px,.45fr);gap:12px}
.page-ltc .ap-col{display:flex;flex-direction:column;gap:6px}
.page-ltc .ap-call{display:block;padding:10px 12px;background:var(--well);color:#dfe7f5;font-size:.875rem;line-height:1.35}
.page-ltc .ap-sub{display:block;margin:0 0 6px}
.page-ltc .ap-agents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.page-ltc .ap-agents span{padding:12px;background:var(--base);box-shadow:inset 0 1px 0 rgba(122,180,255,.45);color:var(--white);font-weight:600;font-size:.9375rem;text-align:center}
.page-ltc .ap-agents .ap-zoom{box-shadow:inset 0 0 0 1px rgba(255,190,160,.6);background:rgba(255,190,160,.1)}
.page-ltc .ap-plane{display:block;margin:10px 0 6px;padding:8px 12px;background:rgba(122,180,255,.2);color:#cfe2ff;font:600 .8125rem/1.4 var(--font-body);letter-spacing:.06em;text-align:center;text-transform:uppercase}
.page-ltc .ap-cp{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.page-ltc .ap-cp li,.page-ltc .ap-core li{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--well)}
.page-ltc .ap-cp strong,.page-ltc .ap-core strong{color:var(--white);font-size:.875rem;line-height:1.3}
.page-ltc .ap-cp small,.page-ltc .ap-core small{color:#c4cee0;font-size:.8125rem;line-height:1.35}
.page-ltc .ap-goal{display:grid;grid-template-columns:auto 28px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:8px;margin-bottom:6px;padding:12px;background:rgba(255,190,160,.1)}
.page-ltc .ap-goal>span:first-child{grid-row:1/3;padding:8px 12px;background:var(--well);color:var(--white);font-weight:600;font-size:.875rem}
.page-ltc .ap-arrow{grid-row:1/3;height:2px;background:#ffcfb8;position:relative}
.page-ltc .ap-arrow::after{content:"";position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left:7px solid #ffcfb8;border-right:0}
.page-ltc .ap-goal strong{color:var(--white);font-size:1rem}
.page-ltc .ap-goal small{color:#c4cee0;font-size:.8125rem}
.page-ltc .ap-core{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.page-ltc .ap-band{margin-top:10px}
.page-ltc .ap-band .chips{margin:0}
.page-ltc .ap-flows{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.page-ltc .ap-f{position:relative;padding:12px 14px 12px 30px;background:var(--u)}
.page-ltc .ap-f::before{content:"";position:absolute;left:12px;top:17px;width:10px;height:10px;border-radius:50%;background:var(--c)}
.page-ltc .ap-f strong{display:block;color:var(--white);font-size:.875rem}
.page-ltc .ap-f small{display:block;color:#c4cee0;font-size:.8125rem;line-height:1.4}
.page-ltc .ap-f1{--c:#7ab4ff}.page-ltc .ap-f2{--c:#f2d36b}.page-ltc .ap-f3{--c:#5fd3bc}.page-ltc .ap-f4{--c:#b9c3d6}.page-ltc .ap-f5{--c:#ffb08a}
@media(max-width:1199px){.page-ltc .ap{grid-template-columns:minmax(0,1fr)}.page-ltc .ap-flows{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:699px){.page-ltc .ap-o{grid-template-columns:minmax(0,1fr)}.page-ltc .ap-col{flex-direction:row;flex-wrap:wrap}.page-ltc .ap-col .ap-sub{width:100%}.page-ltc .ap-cp,.page-ltc .ap-core{grid-template-columns:repeat(2,minmax(0,1fr))}.page-ltc .ap-flows{grid-template-columns:minmax(0,1fr)}}
@media(max-width:419px){.page-ltc .ap-agents{grid-template-columns:minmax(0,1fr)}.page-ltc .ap-cp,.page-ltc .ap-core{grid-template-columns:minmax(0,1fr)}}
/* Maturity phases */
.page-ltc .ph-axis{position:relative;margin:0 0 14px;padding-bottom:12px;color:#dfe7f5;font-size:.875rem;font-weight:600}
.page-ltc .ph-axis::before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,rgba(122,180,255,.2),var(--blue))}
.page-ltc .ph-axis::after{content:"";position:absolute;right:-1px;bottom:-3.5px;border:5px solid transparent;border-left:7px solid var(--blue);border-right:0}
.page-ltc .ph{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;align-items:end}
.page-ltc .ph-s{display:flex;flex-direction:column;padding:18px;background:rgba(122,180,255,calc(.04 + var(--k) * .04))}
.page-ltc .ph-s--0{--k:0;min-height:300px}.page-ltc .ph-s--1{--k:1;min-height:330px}.page-ltc .ph-s--2{--k:2;min-height:360px}.page-ltc .ph-s--3{--k:3;min-height:390px}.page-ltc .ph-s--4{--k:4;min-height:420px;box-shadow:inset 0 1px 0 rgba(122,180,255,.5)}
.page-ltc .ph-n{color:var(--blue);font:600 .75rem/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.page-ltc .ph-s>strong{margin:4px 0 12px;color:var(--white);font:400 1.375rem/1.2 var(--font-display)}
.page-ltc .ph-s ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;color:#dfe7f5;font-size:.875rem}
.page-ltc .ph-s ul li{position:relative;padding-left:16px}
.page-ltc .ph-s ul li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--blue)}
.page-ltc .ph-risk{margin:auto 0 0;padding-top:14px;border-top:1px solid rgba(255,190,160,.3);color:#dfe7f5;font-size:.8125rem;line-height:1.45}
.page-ltc .ph-risk span{display:block;margin-bottom:4px;color:#ffcfb8;font-weight:600;font-size:.8125rem}
@media(max-width:1099px){.page-ltc .ph{grid-template-columns:repeat(3,minmax(0,1fr))}.page-ltc .ph-s{min-height:0!important}}
@media(max-width:699px){.page-ltc .ph{grid-template-columns:minmax(0,1fr)}}
/* Pricing */
.page-ltc .pr{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.page-ltc .pr-row{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,2fr);gap:6px}
.page-ltc .pr-head{display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--base);box-shadow:inset 0 1px 0 rgba(122,180,255,.45)}
.page-ltc .pr-n{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border-radius:50%;background:rgba(122,180,255,.2);color:var(--white);font-weight:600;font-variant-numeric:tabular-nums}
.page-ltc .pr-head strong{display:block;color:var(--white);font-size:1rem}
.page-ltc .pr-head small{display:block;color:#c4cee0;font-size:.875rem}
.page-ltc .pr-opts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.page-ltc .pr-opts li{display:flex;align-items:center;padding:14px 16px;background:var(--u);color:#dfe7f5;font-size:.9375rem;line-height:1.35}
@media(max-width:1099px){.page-ltc .pr-row{grid-template-columns:minmax(0,1fr)}}
@media(max-width:699px){.page-ltc .pr-opts{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Seven pillars */
.page-ltc .tp-roof{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;min-height:118px;padding:44px 16% 16px;background:var(--base);clip-path:polygon(50% 0,100% 72%,100% 100%,0 100%,0 72%);text-align:center}
.page-ltc .tp-roof strong{color:var(--white);font:400 1.375rem/1.2 var(--font-display)}
.page-ltc .tp-roof small{color:#c4cee0;font-size:.875rem}
.page-ltc .tp-pillars{list-style:none;margin:6px 2%;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.page-ltc .tp-pillars li{display:flex;flex-direction:column;gap:4px;padding:16px 14px;background:var(--u);box-shadow:inset 0 2px 0 rgba(122,180,255,.5)}
.page-ltc .tp-n{color:var(--blue);font:600 .875rem/1 var(--font-body);font-variant-numeric:tabular-nums;margin-bottom:6px}
.page-ltc .tp-pillars strong{color:var(--white);font-size:.9375rem;line-height:1.3}
.page-ltc .tp-pillars small{color:#cfe2ff;font-size:.8125rem;line-height:1.35}
.page-ltc .tp-pillars p{margin:8px 0 0;color:#c4cee0;font-size:.8125rem;line-height:1.45;text-wrap:pretty}
.page-ltc .tp-base{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:4px 14px;padding:16px 20px;background:rgba(122,180,255,.18);text-align:center}
.page-ltc .tp-base strong{color:var(--white);font-size:1rem}
.page-ltc .tp-base small{color:#dfe7f5;font-size:.875rem}
@media(max-width:1199px){.page-ltc .tp-pillars{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:699px){.page-ltc .tp-pillars{grid-template-columns:repeat(2,minmax(0,1fr));margin-inline:0}.page-ltc .tp-roof{padding-inline:8%;min-height:110px}}
@media(max-width:419px){.page-ltc .tp-pillars{grid-template-columns:minmax(0,1fr)}}
/* Trust x value */
.page-ltc .tv{display:grid;grid-template-columns:28px 56px minmax(0,1fr);grid-template-rows:auto auto;max-width:880px}
.page-ltc .tv-ylab{grid-row:1;grid-column:1;writing-mode:vertical-rl;transform:rotate(180deg);align-self:center;justify-self:center;color:var(--blue);font:600 .75rem/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.page-ltc .tv-y{grid-row:1;grid-column:2;display:flex;flex-direction:column;justify-content:space-between;padding:14px 10px 14px 0;color:#c4cee0;font-size:.8125rem;text-align:right;border-right:2px solid rgba(122,180,255,.5)}
.page-ltc .tv-q{grid-row:1;grid-column:3;list-style:none;margin:0;padding:0 0 0 8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.page-ltc .tv-q li{display:flex;flex-direction:column;gap:6px;min-height:150px;padding:20px;background:var(--u)}
.page-ltc .tv-tag{align-self:flex-start;padding:3px 10px;border-radius:999px;background:rgba(122,180,255,.16);color:#cfe2ff;font:600 .75rem/1.5 var(--font-body);letter-spacing:.04em}
.page-ltc .tv-q strong{color:var(--white);font-size:1.0625rem;line-height:1.35}
.page-ltc .tv-q small{margin-top:auto;color:#a9b4cb;font-size:.8125rem}
.page-ltc .tv-tl{order:1}.page-ltc .tv-tr{order:2;background:var(--base)!important;box-shadow:inset 0 1px 0 rgba(122,180,255,.5)}.page-ltc .tv-bl{order:3;background:var(--well)!important}.page-ltc .tv-br{order:4;background:rgba(122,180,255,.07)!important}
.page-ltc .tv-tr .tv-tag{background:rgba(122,180,255,.3);color:var(--white)}
.page-ltc .tv-br .tv-tag{background:rgba(255,190,160,.16);color:#ffcfb8}
.page-ltc .tv-x{grid-row:2;grid-column:3;display:flex;justify-content:space-between;gap:12px;margin-left:8px;padding-top:10px;border-top:2px solid rgba(122,180,255,.5);color:#c4cee0;font-size:.8125rem}
.page-ltc .tv-xlab{color:var(--blue);font:600 .75rem/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
@media(max-width:599px){.page-ltc .tv{grid-template-columns:22px 40px minmax(0,1fr)}.page-ltc .tv-q{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px}.page-ltc .tv-q li{min-height:0;padding:14px 12px}.page-ltc .tv-q strong{font-size:.9375rem}}
/* AI-native organisation */
.page-ltc .org-key{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;color:#dfe7f5;font-size:.875rem}
.page-ltc .org-key li{display:flex;align-items:center;gap:8px}
.page-ltc .org-key li span{width:16px;height:16px}
.page-ltc .org-root{display:flex;justify-content:center;position:relative;padding-bottom:22px}
.page-ltc .org-root strong{padding:12px 22px;background:var(--base);box-shadow:inset 0 1px 0 rgba(122,180,255,.5);color:var(--white);font-size:1rem}
.page-ltc .org-root::after{content:"";position:absolute;left:50%;bottom:0;width:2px;height:22px;background:rgba(122,180,255,.5)}
.page-ltc .org-cols{position:relative;list-style:none;margin:0;padding:22px 0 0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;border-top:2px solid rgba(122,180,255,.5)}
.page-ltc .org-cols>li{position:relative;display:flex;flex-direction:column;gap:6px}
.page-ltc .org-cols>li::before{content:"";position:absolute;left:50%;top:-22px;width:2px;height:22px;background:rgba(122,180,255,.5)}
.page-ltc .org-dept{display:block;padding:12px 14px;background:rgba(122,180,255,.12);color:var(--white);font-size:.875rem;line-height:1.3;text-align:center}
.page-ltc .org-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.page-ltc .org-cols ul li{padding:10px 12px;font-size:.8125rem;line-height:1.35}
.page-ltc .org-h,.page-ltc .org-key .org-h span{background:var(--well);color:#dfe7f5}
.page-ltc .org-a,.page-ltc .org-key .org-a span{background:rgba(122,180,255,.2);color:var(--white)}
.page-ltc .org-n,.page-ltc .org-key .org-n span{background:rgba(255,190,160,.12);color:var(--white);box-shadow:inset 0 0 0 1px rgba(255,190,160,.45)}
.page-ltc .org-key li.org-h,.page-ltc .org-key li.org-a,.page-ltc .org-key li.org-n{background:none;box-shadow:none;padding:0}
@media(max-width:1199px){.page-ltc .org-cols{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:18px;border-top:0;padding-top:0}.page-ltc .org-cols>li::before{display:none}.page-ltc .org-root::after{display:none}.page-ltc .org-root{padding-bottom:12px}}
@media(max-width:699px){.page-ltc .org-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:419px){.page-ltc .org-cols{grid-template-columns:minmax(0,1fr)}}
/* Roles merge */
.page-ltc .tm-head,.page-ltc .tm-row{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(0,1fr);gap:6px}
.page-ltc .tm-head{grid-template-columns:minmax(0,1.3fr) minmax(0,1.1fr) minmax(0,1fr);margin-bottom:10px}
.page-ltc .tm-head span{color:var(--blue);font:600 .75rem/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.page-ltc .tm{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.page-ltc .tm-merge{display:grid;gap:6px}
.page-ltc .tm-pair{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.1fr);gap:6px;align-items:stretch}
.page-ltc .tm-now{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;align-content:center;padding:10px 12px;background:var(--well)}
.page-ltc .tm-now li{padding:6px 10px;background:rgba(122,180,255,.08);color:#dfe7f5;font-size:.875rem}
.page-ltc .tm-to{position:relative;display:flex;align-items:center;padding:12px 16px 12px 30px;background:var(--u);color:var(--white);font-weight:600;font-size:.9375rem}
.page-ltc .tm-to::before{content:"";position:absolute;left:10px;top:50%;width:12px;height:2px;background:var(--blue)}
.page-ltc .tm-to::after{content:"";position:absolute;left:18px;top:50%;margin-top:-4px;border:5px solid transparent;border-left:6px solid var(--blue);border-right:0}
.page-ltc .tm-team{position:relative;display:flex;align-items:center;padding:16px 20px 16px 34px;background:var(--base);box-shadow:inset 0 1px 0 rgba(122,180,255,.5)}
.page-ltc .tm-team::before{content:"";position:absolute;left:12px;top:50%;margin-top:-5px;border:5px solid transparent;border-left:8px solid var(--blue);border-right:0}
.page-ltc .tm-team strong{color:var(--white);font:400 1.25rem/1.2 var(--font-display)}
.page-ltc .tm-left{margin:12px 0 0;color:#a9b4cb;font-size:.875rem}
@media(max-width:899px){.page-ltc .tm-head{display:none}.page-ltc .tm-row{grid-template-columns:minmax(0,1fr)}.page-ltc .tm-team{order:-1}}
@media(max-width:479px){.page-ltc .tm-pair{grid-template-columns:minmax(0,1fr)}}
@media print{.page-ltc .mx-row,.page-ltc .tp-pillars li,.page-ltc .org-cols>li,.page-ltc .tm-row,.page-ltc .ph-s,.page-ltc .pr-row{break-inside:avoid}}

/* round 6 review fixes */
.page-ltc .mx-t0{background:rgba(122,180,255,.03)}.page-ltc .mx-t1{background:rgba(122,180,255,.07)}.page-ltc .mx-t2{background:rgba(122,180,255,.12)}
.page-ltc .mx-t3{background:rgba(122,180,255,.18)}.page-ltc .mx-t4{background:rgba(122,180,255,.26);font-weight:600}
.page-ltc .mx-groups{margin-bottom:6px}
.page-ltc .lv-figure .mx-g--a{background:rgba(122,180,255,.08)}
.page-ltc .mx-corner{align-self:end}
/* physical loop */
.page-ltc .pa-loop{max-width:360px}
.page-ltc .pa-loop::before{inset:22%;border-width:2px}
.page-ltc .pa-n{width:auto;transform:translate(-50%,-50%)!important}
.page-ltc .pa-n span{position:absolute;white-space:nowrap}
.page-ltc .pa-n--0{left:50%;top:22%;right:auto;bottom:auto}.page-ltc .pa-n--0 span{bottom:calc(100% + 6px);left:50%;transform:translateX(-50%)}
.page-ltc .pa-n--1{left:78%;top:50%;right:auto;bottom:auto}.page-ltc .pa-n--1 span{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}
.page-ltc .pa-n--2{left:50%;top:78%;right:auto;bottom:auto}.page-ltc .pa-n--2 span{top:calc(100% + 6px);left:50%;transform:translateX(-50%)}
.page-ltc .pa-n--3{left:22%;top:50%;right:auto;bottom:auto}.page-ltc .pa-n--3 span{right:calc(100% + 8px);top:50%;transform:translateY(-50%)}
.page-ltc .pa-core{inset:37%;font-size:1rem;line-height:1.15;padding:6px}
.page-ltc .pa-ar{position:absolute;width:0;height:0;border:6px solid transparent;border-left:9px solid var(--blue);border-right:0;margin:-6px 0 0 -4px}
.page-ltc .pa-ar--0{left:69.8%;top:30.2%;transform:rotate(45deg)}.page-ltc .pa-ar--1{left:69.8%;top:69.8%;transform:rotate(135deg)}
.page-ltc .pa-ar--2{left:30.2%;top:69.8%;transform:rotate(225deg)}.page-ltc .pa-ar--3{left:30.2%;top:30.2%;transform:rotate(315deg)}
/* platform */
.page-ltc .ap-dots{display:flex;gap:4px;margin-top:6px}
.page-ltc .ap-dots i{display:block;width:8px;height:8px;border-radius:50%;background:var(--c)}
.page-ltc .ap-call .ap-dots{margin-top:6px}
.page-ltc .ap-zoomnote{display:block;margin-top:6px;color:#ffcfb8;font-size:.8125rem}
.page-ltc .ap-flowlab{margin:18px 0 0}
.page-ltc .ap-flows{margin-top:8px}
.page-ltc .ap-cp li,.page-ltc .ap-core li{padding:12px 14px}
@media(min-width:700px){.page-ltc .ap-o>div{position:relative}.page-ltc .ap-o>div:not(:last-child)::after{content:"";position:absolute;right:-10px;top:50%;margin-top:-5px;border:5px solid transparent;border-left:7px solid rgba(122,180,255,.7);border-right:0}}
/* pillars */
.page-ltc .tp-roof{background:rgba(122,180,255,.16);min-height:132px;padding-top:52px}
.page-ltc .tp-pillars{margin:8px 0}
.page-ltc .tp-pillars strong{min-height:2.6em}
.page-ltc .tp-pillars small{min-height:2.7em}
/* roadmap phases */
.page-ltc .ph-s--0{min-height:240px}.page-ltc .ph-s--1{min-height:268px}.page-ltc .ph-s--2{min-height:296px}.page-ltc .ph-s--3{min-height:324px}.page-ltc .ph-s--4{min-height:352px}
.page-ltc .ph-risk{font-size:.875rem}
.page-ltc .ph-risk span{font-size:.875rem}
/* trust x value axes */
.page-ltc .tv-y{position:relative}
.page-ltc .tv-y::before{content:"";position:absolute;right:-6px;top:-2px;border:5px solid transparent;border-bottom:8px solid rgba(122,180,255,.8);border-top:0}
.page-ltc .tv-x{position:relative}
.page-ltc .tv-x::after{content:"";position:absolute;right:-2px;top:-6px;border:5px solid transparent;border-left:8px solid rgba(122,180,255,.8);border-right:0}
.page-ltc .tv-ylab,.page-ltc .tv-xlab{font-size:.8125rem;color:#cfe2ff}
.page-ltc .tv-q small{margin-top:auto;padding-top:8px}
/* org */
.page-ltc .org-h,.page-ltc .org-key .org-h span{background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);color:#dfe7f5}
.page-ltc .org-a,.page-ltc .org-key .org-a span{background:rgba(122,180,255,.3);color:var(--white)}
.page-ltc .org-n,.page-ltc .org-key .org-n span{background:rgba(255,190,160,.16);box-shadow:inset 0 0 0 1px rgba(255,190,160,.6);color:var(--white)}
.page-ltc .org-key li span{width:20px;height:14px}
.page-ltc .org-dept{display:flex;align-items:center;justify-content:center;min-height:3.6em}
.page-ltc .org-cols ul li{font-size:.875rem}
/* teams */
.page-ltc .tm{gap:18px}
.page-ltc .tm-now{background:rgba(255,255,255,.04)}
.page-ltc .tm-now li{background:rgba(122,180,255,.12)}
.page-ltc .tm-team{background:rgba(122,180,255,.2)}
.page-ltc .tm-team strong{font-size:1.375rem;color:var(--white)}
.page-ltc .tm-row--none .tm-to--none{color:#a9b4cb;font-weight:400}
.page-ltc .tm-row--none .tm-to--none::before,.page-ltc .tm-row--none .tm-to--none::after{opacity:.4}
.page-ltc .tm-team--none{background:transparent;box-shadow:inset 0 0 0 1px rgba(122,180,255,.2);color:#a9b4cb;font-size:.875rem}
.page-ltc .tm-team--none::before{opacity:.4}
.page-ltc .tm-row--none{margin-top:18px}
.page-ltc .mx-none{color:#a9b4cb}
.page-ltc .pa-n>.icon-tile{position:relative!important;inset:auto!important;transform:none!important;white-space:normal}
.page-ltc .pa-n>span:last-child{color:var(--white);font-weight:600}
@media(max-width:599px){.page-ltc .pa-loop{max-width:280px}}
.page-ltc .mx-c.mx-new{background:rgba(255,190,160,.1);box-shadow:none}
.page-ltc .mx-c.mx-new.mx-m{background:rgba(255,190,160,.16)}
.page-ltc .tr-figure .mx-g--new{background:rgba(255,190,160,.22)}
.page-ltc .pr-opts{display:flex;flex-wrap:wrap;align-content:center;gap:8px;padding:14px 16px;background:var(--u)}
.page-ltc .pr-opts li{padding:10px 16px;border-radius:999px;background:rgba(122,180,255,.14);color:var(--white);font-size:.9375rem}
@media(max-width:699px){.page-ltc .pr-opts{display:flex}}
.page-ltc .org-n,.page-ltc .org-key .org-n span{background:rgba(255,190,160,.22)}
.page-ltc .pa-loop{width:calc(100% - 48px)}
@media(min-width:900px){.page-ltc .pa{grid-template-columns:minmax(300px,.8fr) minmax(0,1.6fr)}}

/* Round 7: chapter navigation as three labelled rows */
@media(min-width:768px){
.page-ltc .chapter-parts,.page-ltc .chapter-parts.tabs-bar{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:0;border:0}
.page-ltc .chapter-part{display:contents}
.page-ltc .chapter-part-label,.page-ltc .chapter-parts .chapter-part-label{display:flex;align-items:center;min-height:48px;margin:0;padding:0 32px 0 0;border-bottom:1px solid var(--rule);color:var(--muted);font:600 .75rem/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.page-ltc .chapter-part-tabs{display:flex;flex-wrap:wrap;gap:0 24px;grid-template-columns:none;grid-auto-rows:auto;border:0;border-bottom:1px solid var(--rule)}
.page-ltc .chapter-part-tabs .tab{min-height:48px;min-width:0;border:0;border-bottom:3px solid transparent;padding:12px 0;background:none;font-size:.875rem;letter-spacing:0;text-align:left;white-space:nowrap}
.page-ltc .chapter-part-tabs .tab[aria-selected="true"]{border:0;border-bottom:3px solid var(--link);background:none;color:var(--foreground)}
html.motion .page-ltc .chapter-part-tabs .tab[aria-selected="true"]{border-bottom-color:transparent}
}
/* Round 7: sweet spot labels on one line, larger agent icon */
@media(min-width:900px){
.page-ltc .sweet-label{max-width:none;white-space:nowrap}
.page-ltc .ltc-figure .sweet-zone--mid .sweet-label .icon-tile{width:64px;height:64px;border-radius:16px}
.page-ltc .ltc-figure .sweet-zone--mid .sweet-label .icon-tile svg{width:32px;height:32px}
}
/* Round 7: agent anatomy connectors meet their boxes */
.page-ltc .anat-arrow{margin:0}
.page-ltc .anat-arrow::after{right:0}
.page-ltc .anat-parts::before{left:calc((100% - 16px)/6 - 1px);right:calc((100% - 16px)/6 - 1px)}
/* Round 7: protocol icons centred; AP2 steps joined edge to edge */
.page-ltc .ltc-figure .proto-head .icon-tile,.page-ltc .ltc-figure .proto-ap2-head .icon-tile{display:flex;margin:0;color:var(--blue)}
.page-ltc .proto-head{align-items:flex-start}
.page-ltc .proto-ap2-steps::before,.page-ltc .proto-ap2-steps::after{display:none}
.page-ltc .proto-ap2-steps .icon-tile{color:var(--blue)}
.page-ltc .proto-ap2-steps li:not(:last-child)::after{content:"";position:absolute;top:19px;left:calc(50% + 20px);width:calc(100% + 8px - 40px);height:2px;background:rgba(122,180,255,.6)}
.page-ltc .proto-ap2-steps li:not(:first-child)::before{content:"";position:absolute;top:15px;left:calc(50% - 27px);border:5px solid transparent;border-left:7px solid var(--blue);border-right:0}
@media(max-width:599px){
.page-ltc .proto-ap2-steps li:not(:last-child)::after{top:calc(50% + 20px);left:19px;width:2px;height:calc(100% - 26px)}
.page-ltc .proto-ap2-steps li:not(:first-child)::before{top:auto;bottom:calc(50% + 20px);left:15px;border:5px solid transparent;border-top:7px solid var(--blue);border-bottom:0}
}
/* Round 7: At home flows without step numbers; homepage lab link */
.page-ltc .ltc-figure.dx-figure--plain .cart-step-head::after{content:none}
.lab-more{margin:20px 0 0}
.lab-more a{color:var(--link);font-weight:600;text-decoration:none}
.lab-more a:hover{text-decoration:underline}
/* Round 7b: nav legibility, active group, hover; AP2 arrowhead gap; brighter sweet-spot agent */
@media(min-width:768px){
.page-ltc .chapter-part-label,.page-ltc .chapter-parts .chapter-part-label{color:#aebbd2;font-size:.75rem}
.page-ltc .chapter-part:has(.tab[aria-selected="true"]) .chapter-part-label{color:var(--blue)}
.page-ltc .chapter-part-tabs .tab{color:#c4cee0}
.page-ltc .chapter-part-tabs .tab:hover{color:var(--white)}
.page-ltc .chapter-part-tabs .tab[aria-selected="true"]{color:var(--white)}
}
@media(min-width:1250px){.page-ltc .chapter-part-tabs{column-gap:28px}}
.page-ltc .proto-ap2-steps li:not(:first-child)::before{left:calc(50% - 30px)}
.page-ltc .proto-ap2-steps li:not(:last-child)::after{width:calc(100% + 8px - 43px)}
@media(max-width:599px){.page-ltc .proto-ap2-steps li:not(:first-child)::before{left:15px;bottom:calc(50% + 23px)}.page-ltc .proto-ap2-steps li:not(:last-child)::after{width:2px;height:calc(100% - 29px)}}
@media(min-width:900px){.page-ltc .ltc-figure .sweet-zone--mid .sweet-label .icon-tile{background:rgba(122,180,255,.22)}.page-ltc .ltc-figure .sweet-zone--mid .sweet-label .icon-tile svg{width:36px;height:36px}}
/* Round 8: stacked protocol figure, every connector on one line under the card icons, labels on one left edge */
@media(max-width:1099px){
.page-ltc .proto-link,.page-ltc .proto-link--v{justify-content:flex-start;gap:14px;padding:0 0 0 45px}
.page-ltc .proto-link strong{flex:0 0 84px;text-align:left}
.page-ltc .proto-link span,.page-ltc .proto-link--v span{text-align:left}
}
/* Round 9: stacked protocol figure, name above its description beside the line, so every connector reads the same */
@media(max-width:1099px){
.page-ltc .proto-link,.page-ltc .proto-link--v{display:grid;grid-template-columns:2px minmax(0,1fr);grid-template-rows:1fr auto auto 1fr;column-gap:14px;row-gap:2px;align-items:start;min-height:76px;padding:0 0 0 45px}
.page-ltc .proto-link i,.page-ltc .proto-link--v i{grid-column:1;grid-row:1/-1;height:auto;min-height:0;align-self:stretch}
.page-ltc .proto-link strong,.page-ltc .proto-link--v strong{grid-column:2;grid-row:2;flex:none;text-align:left;line-height:1.25}
.page-ltc .proto-link span,.page-ltc .proto-link--v span,.page-ltc .proto-link--plain span{grid-column:2;grid-row:3;margin:0;max-width:none;min-height:0;text-align:left}
.page-ltc .proto-link--plain strong{font-size:1rem;color:#c4cee0}
.page-ltc .proto-link--plain i{background:repeating-linear-gradient(to bottom,rgba(122,180,255,.7) 0 6px,transparent 6px 10px)}
}
/* Round 9: In practice in the header; a menu button on phones and small tablets */
.nav-toggle{display:none}
@media(max-width:899px){
.site-header.has-toggle .header-row{flex-wrap:wrap;gap:0 16px}
.site-header.has-toggle .nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;margin-left:auto;margin-right:-11px;padding:0;border:0;border-radius:8px;background:none;color:var(--white);cursor:pointer}
.nav-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.nav-toggle span{display:block;width:22px;height:2px;border-radius:1px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
.site-header.is-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-header.is-open .nav-toggle span:nth-child(2){opacity:0}
.site-header.is-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.site-header.has-toggle .navigation{display:none}
.site-header.has-toggle.is-open .navigation{display:grid;grid-template-columns:minmax(0,1fr);gap:0;width:100%;margin-top:12px;border-top:1px solid var(--rule)}
.site-header.has-toggle.is-open .navigation a{min-height:48px;border-bottom:1px solid var(--rule);font-size:1rem}
.site-header.has-toggle.is-open .navigation a:last-of-type{border-bottom:0}
.site-header.has-toggle .navigation a[aria-current="page"]{color:var(--blue)}
}
@media(prefers-reduced-motion:reduce){.nav-toggle span{transition:none}}
/* Round 9: seven chapters per row still fit on one line */
@media(min-width:768px){.page-ltc .chapter-part-label,.page-ltc .chapter-parts .chapter-part-label{padding-right:24px}}
@media(min-width:1250px){.page-ltc .chapter-part-tabs{column-gap:20px}}
@media(min-width:1250px) and (max-width:1339px){.page-ltc .chapter-part-tabs{column-gap:16px}}
/* Round 10: the lab on At home */
.page-ltc .home-stats{margin:0 0 32px}
/* Round 11: Koen's polish list */
/* org chart: department blocks share one height per row */
.page-ltc .org-cols>li{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:6px;align-content:start}
.page-ltc .org-cols>li>ul{align-content:start}
/* new teams in the body font, like the roles beside them */
.page-ltc .tm-team strong{font:600 1rem/1.3 var(--font-body);color:var(--white)}
/* the agent sits in the middle of its box */
.page-ltc .anat-agent-head{justify-content:center}
/* chapter map: several links in one stop read as separate items */
.page-ltc .chapter-map .map-links:has(a+a){gap:6px}
.page-ltc .chapter-map .map-links:has(a+a) a{position:relative;padding-left:14px}
.page-ltc .chapter-map .map-links:has(a+a) a::before{content:"";position:absolute;left:0;top:calc(.675em - 2px);width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.7}
@media(max-width:1099px){.page-ltc .chapter-map .map-links:has(a+a) a::before{top:50%;margin-top:-2.5px}}
/* Round 12: role boxes share one height per row across the org chart columns */
@media(min-width:420px){
.page-ltc .org-cols>li{grid-row:span 5}
.page-ltc .org-cols>li>ul{display:contents}
.page-ltc .org-cols ul li{display:flex;align-items:center}
}
@media(min-width:1200px){.page-ltc .org-cols ul li{min-height:calc(2.7em + 20px)}}
/* Round 13: Strategic Partnerships, the response circle */
.page-ltc .rs-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:32px;align-items:center}
.page-ltc .rs-circle{display:block;width:100%;height:auto;overflow:visible}
.page-ltc .rs-ring{fill:none;stroke:rgba(122,180,255,.5);stroke-width:1.5}
.page-ltc .rs-axis{stroke:rgba(122,180,255,.4);stroke-width:1}
.page-ltc .rs-spoke{stroke:rgba(122,180,255,.3);stroke-width:1}
.page-ltc .rs-dot{fill:var(--blue)}
.page-ltc .rs-lb{fill:#eef2fa;font:600 16px/1 var(--font-body)}
.page-ltc .rs-ax{fill:var(--blue);font:600 12px/1 var(--font-body);letter-spacing:.12em}
.page-ltc .rs-key{list-style:none;margin:0;padding:0;display:grid;gap:8px;counter-reset:none}
.page-ltc .rs-key li{display:flex;flex-direction:column;gap:2px;padding:10px 14px;background:var(--u,rgba(122,180,255,.1))}
.page-ltc .rs-key strong{color:var(--white);font-size:.9375rem}
.page-ltc .rs-key span{color:#a9b4cb;font-size:.8125rem}
.page-ltc .sp-meta{margin-top:6px}
@media(max-width:899px){.page-ltc .rs-grid{grid-template-columns:minmax(0,1fr);gap:20px}.page-ltc .rs-lb{font-size:22px}.page-ltc .rs-ax{font-size:16px}}
/* Round 14: Sources page */
.page-sources .back-home{display:inline-block;margin-bottom:32px;font-size:.9375rem}
.page-sources h1.section-title{font-size:clamp(2.25rem,4vw,3.5rem);line-height:1.13;letter-spacing:-.02em;max-width:none}
.page-sources .src-how{margin-top:16px;color:var(--muted-dark);max-width:72ch}
.page-sources .src-toc{margin-top:32px}
.page-sources .src-toc ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px 12px}
.page-sources .src-toc a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--rule-dark);color:var(--white);font-size:.9375rem;text-decoration:none}
.page-sources .src-toc a:hover{border-color:var(--blue);color:var(--blue)}
.page-sources .src-body{background:var(--paper);color:var(--ink)}
.page-sources .src-body a{color:var(--blue-strong)}
.page-sources .src-part{padding-block:8px 40px;scroll-margin-top:16px}
.page-sources .src-part+.src-part{border-top:1px solid var(--rule-light);padding-top:40px}
.page-sources .src-part-title{font-size:clamp(1.75rem,3vw,2.5rem);margin-bottom:24px}
.page-sources .src-chapter{padding-block:20px;border-top:1px solid var(--rule-light);scroll-margin-top:16px}
.page-sources .src-chapter:first-of-type{border-top:0}
.page-sources .src-chapter h3{font-size:1.5rem;margin-bottom:12px}
.page-sources .src-where{margin-left:8px;font:600 .8125rem/1 var(--font-body);letter-spacing:.02em;white-space:nowrap}
.page-sources .src-group{margin-top:16px}
.page-sources .src-topic{font:600 .8125rem/1.4 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-light);margin-bottom:8px}
.page-sources .src-topic .src-where{text-transform:none;letter-spacing:.02em}
.page-sources .src-cites,.page-sources .src-refs{list-style:none;padding:0;display:grid;gap:8px}
.page-sources .src-cites li{padding:10px 14px;background:var(--sky);color:var(--ink)}
.page-sources .src-refs{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.page-sources .src-refs li{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid var(--rule-light)}
.page-sources .src-refs a{font-weight:600}
.page-sources .src-host{color:var(--muted-light);font-size:.8125rem}
.page-sources .src-cites+.src-refs{margin-top:12px}
.page-sources .src-none,.page-sources .src-intro{color:var(--muted-light);max-width:72ch}
.page-sources .src-intro{margin-bottom:12px}
@media print{.page-sources .src-toc{display:none}.page-sources .src-body{background:#fff}}
.page-sources .src-where{display:inline-block;padding-block:8px}
.page-sources .src-kind{margin-top:12px}
.page-sources .src-kind-label{font:600 .75rem/1.4 var(--font-body);letter-spacing:.04em;color:var(--muted-light);margin-bottom:6px}
@media print{.page-sources .src-where{display:none}}


/* Round 16: Strategic Partnerships, response table and publications */
.page-ltc .rs-table-wrap{margin:8px 0 0;overflow-x:auto}
.page-ltc .rs-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.9375rem;line-height:1.5}
.page-ltc .rs-table thead th{padding:0 18px 14px;text-align:left;vertical-align:bottom;color:var(--blue);font:600 .75rem/1.3 var(--font-body);letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--blue)}
.page-ltc .rs-table thead th:first-child{padding-left:0}
.page-ltc .rs-c1{width:18%}.page-ltc .rs-c2{width:27%}.page-ltc .rs-c3{width:14%}.page-ltc .rs-c4{width:17%}.page-ltc .rs-c5{width:24%}
.page-ltc .rs-table tbody tr{border-bottom:1px solid var(--rule)}
.page-ltc .rs-table tbody tr:hover{background:rgba(122,180,255,.05)}
.page-ltc .rs-table tbody th,.page-ltc .rs-table td{padding:22px 18px;vertical-align:top;text-align:left;font-weight:400}
.page-ltc .rs-table tbody th{padding-left:0}
.page-ltc .rs-table td{color:var(--muted)}
.page-ltc .rs-table td:nth-child(4),.page-ltc .rs-table td:nth-child(5){color:var(--foreground)}
.page-ltc .rs-num{display:block;margin-bottom:6px;color:var(--blue);font:400 1.5rem/1 var(--font-display)}
.page-ltc .rs-name{display:block;color:var(--white);font:400 1.375rem/1.2 var(--font-display)}
.page-ltc .rs-tag{display:inline-flex;align-items:center;gap:8px;margin-top:10px;color:#c9d3e6;font-size:.8125rem;letter-spacing:.02em}
.page-ltc .rs-pip{display:inline-block;width:11px;height:11px;border-radius:50%;flex:none;border:1.5px solid var(--blue)}
.page-ltc .rs-row--con .rs-pip,.page-ltc .rs-pip--con{background:var(--blue)}
.page-ltc .rs-row--mix .rs-pip,.page-ltc .rs-pip--mix{background:linear-gradient(90deg,var(--blue) 50%,transparent 50%)}
.page-ltc .rs-legend{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-left:8px}
.page-ltc .rs-legend .rs-pip{margin-left:6px}
.page-ltc .rs-none{color:var(--muted)}
.page-ltc .rs-table-wrap .src-cite{margin-top:16px}
@media(max-width:899px){
.page-ltc .rs-table,.page-ltc .rs-table tbody,.page-ltc .rs-table tr,.page-ltc .rs-table th,.page-ltc .rs-table td{display:block;width:auto}
.page-ltc .rs-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.page-ltc .rs-table tbody tr{padding:22px 0}
.page-ltc .rs-table tbody th,.page-ltc .rs-table td{padding:0}
.page-ltc .rs-table tbody th{margin-bottom:14px}
.page-ltc .rs-table td{margin-top:12px;padding-left:14px;border-left:2px solid var(--rule)}
.page-ltc .rs-table td::before{content:attr(data-label);display:block;margin-bottom:2px;color:var(--blue);font:600 .6875rem/1.4 var(--font-body);letter-spacing:.12em;text-transform:uppercase}
.page-ltc .rs-num{display:inline;margin:0 10px 0 0;font-size:1.125rem}
.page-ltc .rs-name{display:inline}
.page-ltc .rs-tag{display:flex}
}
.page-ltc .pub-head{margin:40px 0 4px;color:var(--blue);font:600 .75rem/1.3 var(--font-body);letter-spacing:.12em;text-transform:uppercase}
.page-ltc .pub-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.page-ltc .pub{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;padding:18px 0;border-bottom:1px solid var(--rule)}
.page-ltc .pub-year{color:var(--blue);font:400 1.25rem/1.3 var(--font-display)}
.page-ltc .pub-title{margin:0;color:var(--white);font:400 1.125rem/1.35 var(--font-display)}
.page-ltc .pub-title a{color:inherit;text-decoration:none}
.page-ltc .pub-title a:hover,.page-ltc .pub-title a:focus-visible{text-decoration:underline;text-decoration-color:var(--blue)}
.page-ltc .pub-authors,.page-ltc .pub-venue{margin:6px 0 0;color:#c9d3e6;font-size:.875rem}
.page-ltc .pub-venue{margin-top:2px;font-style:italic}

/* Round 16b: Explore links in two columns */
.footer-links{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
nav.footer-col ul{columns:2;column-gap:32px}
nav.footer-col li{break-inside:avoid}
@media(max-width:767px){.footer-links{grid-template-columns:minmax(0,1fr)}}

/* Round 17: sixth principle as its own principle, same type as the others, accent colour */
.principles .principle-future{text-align:left}
.principles .principle-future>div{display:flex;align-items:center;gap:20px}
.principles .principle-future .icon-tile{margin:0;flex:none}
.principles .principle-future strong{color:var(--blue);font-family:var(--font-body);font-style:normal;font-weight:600;font-size:clamp(1.375rem,1.8vw,1.4375rem);line-height:1.25}

/* Round 17b: the sixth principle as a full-width foundation band */
.principles .principle-future{grid-column:1/-1;border-top:1px solid var(--link);padding-top:28px;margin-top:16px;margin-bottom:8px}
.principles .principle-future>div{gap:24px}
@media(max-width:639px){.principles .principle-future>div{flex-direction:column;align-items:flex-start;gap:16px}.principles .principle-future{margin-top:0;padding-top:16px}}
.principles .principle-future{border:1px solid rgba(122,180,255,.28);border-radius:16px;background:linear-gradient(90deg,rgba(122,180,255,.10),rgba(122,180,255,.02) 70%);padding:24px 28px;margin-top:24px}
@media(max-width:639px){.principles .principle-future{padding:20px;margin-top:8px}}

/* Round 18 (v2): site search. Quiet header control, editorial dialog, company results with logos */
.search-trigger{order:3;display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-left:4px;padding:0 0 0 22px;border:0;border-left:1px solid var(--rule-dark);border-radius:0;background:none;color:var(--white);font:400 .9375rem/1 var(--font-body);cursor:pointer}
.search-trigger svg{width:18px;height:18px;color:var(--blue);flex:none;transition:transform .2s ease}
.search-trigger:hover .search-trigger-label{text-decoration:underline;text-underline-offset:6px}
.search-trigger:hover svg{transform:scale(1.08)}
.search-trigger:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:6px}
.site-header .navigation{order:2}
@media(max-width:1249px) and (min-width:900px){
 .site-header .header-row{flex-wrap:wrap}
 .site-header .search-trigger{order:1;margin-left:auto;padding-left:0;border-left:0}
 .site-header .navigation{order:2;flex-basis:100%}
}
@media(max-width:899px){
 .site-header.has-toggle .header-row{flex-wrap:wrap;gap:0 4px}
 .site-header.has-toggle .brand-lockup{flex:1 1 0;min-width:0}
 .site-header.has-toggle .brand-sub{white-space:normal;line-height:1.35;text-wrap:balance}
 .site-header.has-toggle .search-trigger{order:1;width:44px;height:44px;margin-left:0;padding:0;justify-content:center;border:0;color:var(--white)}
 .site-header.has-toggle .search-trigger svg{width:22px;height:22px;color:var(--white)}
 .site-header.has-toggle .search-trigger-label{display:none}
 .site-header.has-toggle .nav-toggle{order:2;margin-left:0}
 .site-header.has-toggle .navigation{order:4}
}
html.search-open{overflow:hidden}
.search-dialog{width:min(760px,calc(100vw - 48px));max-height:min(700px,calc(100vh - 14vh));margin:9vh auto auto;padding:0;border:1px solid rgba(122,180,255,.18);border-radius:20px;background:linear-gradient(180deg,#101a35 0%,#0b1328 100%);color:var(--white);box-shadow:0 40px 120px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.04);overflow:hidden}
.search-dialog::backdrop{background:rgba(4,8,18,.74);backdrop-filter:blur(10px) saturate(.8);-webkit-backdrop-filter:blur(10px) saturate(.8)}
.search-dialog[open]{animation:search-in .22s cubic-bezier(.2,.8,.2,1)}
@keyframes search-in{from{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:none}}
.search-sheet{display:flex;flex-direction:column;max-height:inherit}
.search-field{display:flex;align-items:center;gap:14px;padding:20px 18px 20px 26px;border-bottom:1px solid var(--rule-dark)}
.search-field>svg{width:22px;height:22px;color:var(--blue);flex:none}
.search-field input{flex:1;min-width:0;padding:4px 0;border:0;outline:0;background:none;color:var(--white);font:400 1.625rem/1.3 var(--font-display);letter-spacing:.005em}
.search-field input::placeholder{color:#8e9bb5;opacity:1}
.search-field input::-webkit-search-cancel-button{display:none}
.search-close{display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;padding:0;border:0;border-radius:999px;background:none;color:var(--muted-dark);cursor:pointer;transition:background .15s,color .15s}
.search-close svg{width:20px;height:20px}
.search-close:hover,.search-close:focus-visible{background:rgba(238,242,250,.07);color:var(--white)}
.search-body{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 28px),transparent);overflow-y:auto;overscroll-behavior:contain;padding:8px 12px 18px;scrollbar-width:thin;scrollbar-color:var(--rule-dark) transparent}
.sr-group+.sr-group{margin-top:6px}
.sr-label{margin:0;padding:16px 14px 8px;color:var(--blue);font:600 .6875rem/1.2 var(--font-body);letter-spacing:.14em;text-transform:uppercase}
.sr-row{display:grid;grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;gap:14px;padding:11px 12px;border-radius:12px;color:inherit;text-decoration:none;transition:background .12s}
.sr-row[aria-selected="true"]{background:rgba(122,180,255,.085)}
.sr-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(122,180,255,.18);border-radius:10px;background:rgba(122,180,255,.07);color:var(--blue)}
.sr-icon svg{width:20px;height:20px}
.sr-icon--logo{color:var(--white);background:rgba(238,242,250,.05);border-color:rgba(238,242,250,.12)}
.sr-icon--logo svg{width:20px;height:20px}
.sr-initial{font:600 .8125rem/1 var(--font-body);letter-spacing:.04em;color:var(--white)}
.sr-main{display:grid;gap:3px;min-width:0}
.sr-crumbs{color:#b7c1d6;font-size:.75rem;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr-sep{margin:0 7px;opacity:.45}
.sr-title{color:var(--white);font:600 1rem/1.35 var(--font-body)}
.sr-text{color:#a9b4cb;font-size:.8125rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sr-text .sr-sep{margin:0 6px}
.sr-more{margin-left:10px;color:var(--blue)}
.sr-excerpt mark{background:none;color:var(--blue);font-weight:500}
.sr-title mark{background:none;color:var(--blue)}
.sr-go{color:var(--blue);opacity:0;transform:translateX(-4px);transition:opacity .15s,transform .15s}
.sr-go svg{width:18px;height:18px}
.sr-row[aria-selected="true"] .sr-go{opacity:1;transform:none}
.sr-try{display:flex;flex-wrap:wrap;gap:8px;padding:2px 14px 4px}
.sr-chip{min-height:36px;padding:0 14px;border:1px solid var(--rule-dark);border-radius:999px;background:none;color:var(--muted-dark);font:500 .8125rem/1 var(--font-body);cursor:pointer;transition:border-color .15s,color .15s}
.sr-chip:hover,.sr-chip:focus-visible{border-color:var(--blue);color:var(--white)}
.sr-fix{margin:12px 14px 0;color:#a9b4cb;font-size:.8125rem}
.sr-fix strong{color:var(--white);font-weight:600}
.sr-empty{padding:28px 14px 12px}
.sr-empty-title{margin:0;font:400 1.25rem/1.35 var(--font-display);color:var(--white)}
.sr-empty-text{margin:6px 0 16px;color:var(--muted-dark);font-size:.875rem}
.sr-empty .sr-try{padding:0}
.chips a.is-found{position:relative;z-index:1;box-shadow:0 0 0 2px var(--blue),0 0 28px rgba(122,180,255,.45);animation:found-pulse 2.8s ease-out}
@keyframes found-pulse{0%,30%{box-shadow:0 0 0 2px var(--blue),0 0 28px rgba(122,180,255,.55)}100%{box-shadow:0 0 0 2px rgba(122,180,255,0),0 0 0 rgba(122,180,255,0)}}
[data-anchor]:target{animation:anchor-flash 1.6s ease-out}
@keyframes anchor-flash{0%{color:var(--blue)}100%{color:inherit}}
@media(max-width:639px){
 .search-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}
 .search-field{padding:12px 8px 12px 18px}
 .search-field input{font-size:1.375rem}
 .search-close{width:44px;height:44px}
 .search-body{padding:4px 6px 24px}
 .sr-go{display:none}
 .sr-row{grid-template-columns:40px minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.search-dialog[open],.chips a.is-found,[data-anchor]:target{animation:none}.search-trigger svg,.sr-go{transition:none}}

/* Round 19: sixth principle in the same grammar as the five above: one hairline on top, flush to the grid, no outline, fill or gradient */
.principles .principle-future{border:0;border-top:1px solid var(--link);border-radius:0;background:none;box-shadow:none;padding:20px 0 0;margin-top:8px}
@media(max-width:639px){.principles .principle-future{padding:16px 0 0;margin-top:8px}.principles .principle-future>div{gap:24px}}

/* Round 19 (restored): no sideways scroll on 320 px phones (long Topics chapter link may wrap) */
@media(max-width:379px){.page-home .topic-chapter{white-space:normal;text-wrap:balance}}
