/* Treadstone Law — Learning Centres (Sprint CK). Loaded after styles.css by every
   /centres page. Reuses the site's tokens; nothing here overrides global chrome. */
.cn-hero{padding:56px 0 40px;background:radial-gradient(900px 480px at 90% -10%,rgba(236,223,195,.6),transparent 60%),var(--bg-page);border-bottom:1px solid var(--tsl-line)}
.cn-hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end}
@media (max-width:900px){.cn-hero .wrap{grid-template-columns:1fr}}
.cn-hero h1{font-family:var(--font-display);font-weight:300;font-size:clamp(34px,4.4vw,54px);line-height:1.04;letter-spacing:-.02em;margin:16px 0 14px;font-variation-settings:'opsz' 144}
.cn-hero h1 em{font-style:italic;color:var(--tsl-crimson);font-weight:400}
.cn-hero .dek{font-size:16.5px;color:var(--text-muted);max-width:54ch}
.cn-crumb{font-size:12px;color:var(--text-muted);margin-bottom:12px}.cn-crumb a{color:inherit}.cn-crumb i{font-style:normal;margin:0 6px;opacity:.6}
/* Every custom interactive control on a /centres page gets the site's own crimson
   focus ring (matches .chips a / .quicklinks a etc. in styles.css) — the browser
   default outline was operable but did not read as "this site" on these pages. */
.cn-stage .opts a:focus-visible,.cn-crumb a:focus-visible,a.cn-card:focus-visible,.cn-list a:focus-visible,.cn-toc a:focus-visible,.cn-nav a:focus-visible,.cn-src a:focus-visible,.cn-gloss dd a:focus-visible,.cn-index a:focus-visible,.cn-faq summary:focus-visible,.ct-wrap a:focus-visible,.ct-wrap button:focus-visible,.ct-fld input:focus-visible,.ct-fld select:focus-visible,.skip-link:focus-visible{outline:2px solid var(--tsl-crimson);outline-offset:2px;border-radius:4px}
.cn-stage{background:#fff;border:1px solid var(--tsl-line-2);border-radius:16px;padding:18px 20px;box-shadow:var(--shadow)}
.cn-stage .q{font-family:var(--font-display);font-size:19px;font-weight:400;margin-bottom:12px}
.cn-stage .opts{display:flex;flex-wrap:wrap;gap:8px}
.cn-stage .opts a{font-size:13px;font-weight:600;padding:9px 13px;border-radius:999px;border:1px solid var(--tsl-line-2);background:#fff;color:var(--tsl-ink);transition:all var(--dur-fast)}
.cn-stage .opts a:hover,.cn-stage .opts a.on{background:var(--tsl-navy);color:#fff;border-color:var(--tsl-navy)}
.cn-stage .hint{font-size:12.5px;color:var(--text-muted);margin-top:12px;min-height:18px}
/* AI-readability: the hub's "In one paragraph" summary, immediately under the hero. */
.cn-summary{font-size:15.5px;line-height:1.65;color:var(--tsl-ink);max-width:70ch;margin:0 0 30px;padding:16px 18px;background:var(--tsl-surface-2);border-left:3px solid var(--tsl-gold-line);border-radius:0 12px 12px 0}
.cn-body{padding:40px 0 56px}
.cn-body .wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;align-items:start}
@media (max-width:980px){.cn-body .wrap{grid-template-columns:1fr}}
.cn-mod{margin-bottom:38px}
.cn-mod h2{font-family:var(--font-display);font-weight:400;font-size:28px;letter-spacing:-.01em;margin:0 0 6px}
.cn-mod .sub{font-size:14.5px;color:var(--text-muted);margin-bottom:16px;max-width:64ch}
.cn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.cn-card{background:#fff;border:1px solid var(--tsl-line);border-radius:14px;padding:14px;font-size:13px;color:var(--tsl-ink);display:flex;flex-direction:column;gap:4px;position:relative}
a.cn-card{transition:transform var(--dur-fast),box-shadow var(--dur-fast),border-color var(--dur-fast)}
a.cn-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card);border-color:var(--tsl-gold-line)}
.cn-card .n{font-family:var(--font-display);font-style:italic;color:var(--tsl-gold);font-size:15px}
.cn-card b{font-size:14px;line-height:1.3}
.cn-card p{color:var(--text-muted);line-height:1.45;margin:0;flex:1}
.cn-card .k{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tsl-green)}.cn-card .k.new{color:var(--tsl-gold)}
.cn-card.lit{border-color:var(--tsl-crimson);box-shadow:0 0 0 3px rgba(179,32,37,.08)}
.cn-who{margin-top:8px;display:flex;flex-wrap:wrap;gap:4px}
.cn-who span{font-size:9.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:3px 6px;border-radius:5px;background:var(--tsl-surface);color:var(--text-muted)}
.cn-who span.us{background:rgba(179,32,37,.08);color:var(--tsl-crimson)}
.cn-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media (max-width:640px){.cn-list{grid-template-columns:1fr}}
.cn-list a{background:#fff;border:1px solid var(--tsl-line);border-radius:12px;padding:11px 13px;font-size:13.5px;line-height:1.4;display:flex;flex-direction:column;gap:3px;color:var(--tsl-ink)}
.cn-list a span{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.cn-list a:hover{border-color:var(--tsl-gold-line)}
.cn-side{position:sticky;top:90px;display:flex;flex-direction:column;gap:14px}
.cn-side .firm-note{margin:0}
.cn-side .cn-toc{background:#fff;border:1px solid var(--tsl-line);border-radius:14px;padding:16px}
.cn-toc h4{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--tsl-gold-ink);margin:0 0 10px}
.cn-toc a{display:block;font-size:13.5px;padding:7px 0;border-top:1px solid var(--tsl-line);color:var(--tsl-ink)}.cn-toc a:first-of-type{border-top:none}.cn-toc a.on{color:var(--tsl-crimson);font-weight:600}
/* stage page */
.cn-page .lede{font-size:19px;line-height:1.6;color:var(--tsl-ink);max-width:62ch;margin:0 0 26px;font-family:var(--font-display);font-weight:400}
.cn-page .prose{max-width:68ch;font-size:16.5px;line-height:1.72}
.cn-page .prose h2{font-family:var(--font-display);font-weight:400;font-size:26px;letter-spacing:-.01em;margin:34px 0 10px;scroll-margin-top:90px}
.cn-page .prose p{margin:0 0 16px}.cn-page .prose ul,.cn-page .prose ol{margin:0 0 16px;padding-left:22px}.cn-page .prose li{margin-bottom:6px}
.cn-steps{counter-reset:s;margin:0 0 26px}
.cn-steps div{display:flex;gap:12px;padding:11px 0;border-top:1px solid var(--tsl-line);font-size:14.5px}.cn-steps div:first-child{border-top:none}
.cn-steps div::before{counter-increment:s;content:counter(s);width:26px;height:26px;border-radius:50%;background:var(--tsl-surface);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--text-muted)}
.cn-steps b{display:block}.cn-steps span{color:var(--text-muted);font-size:13.5px}
.cn-docs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 26px}.cn-docs span{font-size:12.5px;padding:6px 10px;border-radius:8px;background:#fff;border:1px solid var(--tsl-line-2)}
.cn-faq details{border-top:1px solid var(--tsl-line);padding:4px 0}.cn-faq details:last-child{border-bottom:1px solid var(--tsl-line)}
.cn-faq summary{cursor:pointer;font-weight:600;font-size:15px;padding:10px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}.cn-faq summary::after{content:"+";color:var(--tsl-gold);font-size:18px}.cn-faq details[open] summary::after{content:"–"}
.cn-faq details p{color:var(--text-muted);margin:0 0 12px;font-size:14.5px}
.cn-src{font-size:13px;color:var(--text-muted)}.cn-src a{color:var(--tsl-crimson);text-decoration:underline;text-underline-offset:2px}
.cn-nav{display:flex;justify-content:space-between;gap:12px;margin-top:34px;padding-top:18px;border-top:1px solid var(--tsl-line);font-size:14px}.cn-nav a{color:var(--tsl-ink);max-width:48%}.cn-nav a span{display:block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.cn-cta{margin-top:40px;background:var(--tsl-navy);color:#fff;border-radius:18px;padding:24px 26px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.cn-cta .t{font-family:var(--font-display);font-size:22px;font-weight:300}.cn-cta .t em{font-style:italic;color:var(--tsl-gold-soft)}.cn-cta p{color:rgba(255,255,255,.75);font-size:13.5px;margin:4px 0 0}
.cn-cta .btn{background:#fff;color:var(--tsl-navy)}
/* glossary */
.cn-gloss dl{margin:0}.cn-gloss dt{font-family:var(--font-display);font-size:19px;font-weight:500;margin-top:18px}.cn-gloss dd{margin:4px 0 0;color:var(--text-muted);font-size:14.5px;max-width:64ch}.cn-gloss dd a{color:var(--tsl-crimson);text-decoration:underline;text-underline-offset:2px}
/* tools (centre-tools.js) */
.ct-wrap{background:#fff;border:1px solid var(--tsl-line-2);border-radius:16px;padding:20px;margin:0 0 26px}
.ct-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}@media (max-width:640px){.ct-form{grid-template-columns:1fr}}
.ct-form .btn{grid-column:1/-1;justify-self:start}
.ct-fld label{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}
.ct-fld input,.ct-fld select{width:100%;border:1px solid var(--tsl-line-2);border-radius:9px;padding:10px 12px;background:var(--bg-page);font:14px var(--font-body);color:var(--tsl-ink)}
.ct-out{background:var(--tsl-navy);color:#fff;border-radius:16px;padding:18px 20px;font-variant-numeric:tabular-nums}
.ct-big{font-family:var(--font-display);font-style:italic;font-size:36px;line-height:1.05;color:var(--tsl-gold-soft)}
.ct-sub{font-size:12.5px;color:rgba(255,255,255,.7);margin-top:4px}
.ct-out p{font-size:13.5px;color:rgba(255,255,255,.85);margin:12px 0 0;line-height:1.5}
.ct-cmp{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.ct-cmp div{background:rgba(255,255,255,.08);border-radius:10px;padding:10px;font-size:12px}.ct-cmp b{display:block;font-family:var(--font-display);font-size:20px;margin-top:2px}.ct-cmp .win{outline:1px solid var(--tsl-gold-line)}
.ct-rows div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid rgba(255,255,255,.12);font-size:13px}.ct-rows div:first-child{border-top:none}.ct-rows b{font-variant-numeric:tabular-nums}
.ct-note{font-size:12px;color:var(--text-muted);margin:12px 0 0;line-height:1.5}.ct-next{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(255,255,255,.18)}.ct-next b{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:8px}.ct-next ul{margin:0;padding-left:18px}.ct-next li{margin-bottom:6px;font-size:13.5px;line-height:1.4}.ct-next a{color:var(--tsl-gold-soft);text-decoration:underline;text-underline-offset:2px}
.ct-prog{height:6px;border-radius:999px;background:var(--tsl-surface);overflow:hidden;margin-bottom:14px}.ct-prog>div{height:100%;background:var(--tsl-gold);border-radius:999px;transition:width var(--dur-fast)}.ct-q h3,.ct-res h3{font-family:var(--font-display);font-weight:500;font-size:22px;margin:6px 0 14px}
.ct-opts{display:flex;flex-direction:column;gap:8px}.ct-opts button{text-align:left;font:500 14.5px var(--font-body);padding:12px 14px;border-radius:12px;border:1px solid var(--tsl-line-2);background:var(--bg-page);cursor:pointer;color:var(--tsl-ink)}.ct-opts button:hover{border-color:var(--tsl-gold);background:#fff}
.ct-res p{color:var(--text-muted);font-size:15px;max-width:62ch}.ct-link{display:block;color:var(--tsl-crimson);font-weight:600;font-size:14px;margin:8px 0}.ct-again{margin-top:14px}
.ct-chk{display:grid;grid-template-columns:1fr 1.2fr;gap:20px}@media (max-width:760px){.ct-chk{grid-template-columns:1fr}}
.ct-qa{margin-bottom:12px}.ct-qa b{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}
.ct-qa button{font:600 12.5px var(--font-body);padding:7px 11px;border-radius:999px;border:1px solid var(--tsl-line-2);background:#fff;margin:0 4px 4px 0;cursor:pointer;color:var(--tsl-ink)}.ct-qa button[aria-pressed="true"]{background:var(--tsl-navy);color:#fff;border-color:var(--tsl-navy)}
.ct-list{background:var(--tsl-surface-2);border:1px solid var(--tsl-line-2);border-radius:14px;padding:14px 16px}
.ct-list h3{font-family:var(--font-display);font-weight:500;font-size:17px;margin:0 0 8px}
.ct-item{display:flex;gap:9px;font-size:13.5px;padding:7px 0;border-top:1px solid var(--tsl-line)}.ct-item:first-of-type{border-top:none}.ct-item span{color:var(--text-muted)}.ct-item i{font-style:normal;color:var(--text-muted);font-size:11.5px;display:block}
.ct-acts{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ct-msg{font-size:12.5px;color:var(--tsl-green)}
.ct-tl{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin-top:12px}
.ct-step{position:relative;background:#fff;border:1px solid var(--tsl-line);border-radius:12px;padding:11px;font-size:12.5px;border-top:3px solid var(--tsl-gold-line)}.ct-step.hot{border-top-color:var(--tsl-crimson)}.ct-step.past{opacity:.6}.ct-done{position:absolute;top:10px;right:11px;font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tsl-green)}
.ct-step .d{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.ct-step b{display:block;margin:3px 0;font-size:13.5px}.ct-step span{color:var(--text-muted);line-height:1.4}
.ct-out .ct-step{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15)}.ct-out .ct-step .d,.ct-out .ct-step span{color:rgba(255,255,255,.75)}
.cn-example{background:var(--tsl-surface-2);border:1px solid var(--tsl-line-2);border-radius:12px;padding:14px 16px;font-size:14px;color:var(--text-muted);margin:0 0 26px}.cn-example b{color:var(--tsl-ink)}
/* centres index */
.cn-index{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.cn-index a{background:#fff;border:1px solid var(--tsl-line-2);border-radius:16px;padding:20px;color:var(--tsl-ink);display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-card);transition:transform var(--dur-fast)}
.cn-index a:hover{transform:translateY(-2px)}.cn-index .k{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tsl-gold)}
.cn-index h3{font-family:var(--font-display);font-weight:400;font-size:24px;margin:0}.cn-index h3 em{font-style:italic;color:var(--tsl-crimson)}.cn-index p{color:var(--text-muted);font-size:13.5px;margin:0;flex:1}.cn-index small{color:var(--text-muted);font-size:12px}
@media print{.cn-side,.cn-cta,.cn-nav,nav.site,.mbar,.mnav,footer.site,.ct-qs,.ct-acts,.axcta,.ql-root{display:none!important}.cn-body .wrap{display:block}.ct-chk{display:block!important}.ct-list{border:none;padding:0}.cn-faq details>*{display:block!important}.cn-faq summary{cursor:default}.cn-faq summary::after,.cn-faq summary::-webkit-details-marker{display:none!important}}
