/**
 * China Law Key Words redesign — Counsel’s Desk (body only).
 * Loaded by com_tags tags/tag overrides. Header/footer remain site chrome.
 */
@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Source+Sans+3:wght@400;600;700;800&display=swap");

main#tm-main .kw-redesign,
main#tm-main .topic-redesign,
.kw-redesign, .topic-redesign {
  font-family: "Source Sans 3", Arial, sans-serif;
  color: #172438;
}
.kw-redesign a, .topic-redesign a { text-decoration: none; color: inherit; }
.kw-redesign .portal-frame, .topic-redesign .portal-frame { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.kw-redesign .sr-only, .topic-redesign .sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }

.breadcrumbs { display: flex; flex-wrap: wrap; gap: 7px; padding: 14px 0; color: #697282; font-size: 12px; }
.breadcrumbs a { color: #324761; text-decoration: underline; text-underline-offset: 3px; }
.breadcrumbs-light { color: rgba(255,255,255,.72); }
.breadcrumbs-light a { color: #fff; }
.eyebrow { margin: 0 0 10px; color: #98782b; font-size: 10px; font-weight: 700; letter-spacing: .15em; line-height: 1.2; text-transform: uppercase; }
.eyebrow-light { color: #e2c970; }
.section-heading { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 20px; align-items: start; margin-bottom: 30px; padding-top: 2px; }
.section-index { width: 31px; padding-top: 1px; border-top: 2px solid #c9a449; color: #9d8139; font-family: "Fraunces", Georgia, serif; font-size: 18px; }
.section-heading-copy { position: relative; max-width: 760px; }
.section-heading-copy:before { position: absolute; top: -17px; left: 0; width: 42px; height: 3px; background: #c9a449; content: ""; }
.section-heading h2, .reference-note-grid h2, .counsel-cta h2 { margin: 0; color: #102b4e; font-family: "Fraunces", Georgia, serif; font-size: clamp(28px, 3.2vw, 43px); font-weight: 600; letter-spacing: -.035em; line-height: 1.05; }
.section-heading-copy > p:last-child { max-width: 720px; margin: 12px 0 0; color: #5f6876; font-size: 17px; }
.editorial-section { padding: 96px 0; }

/* Key words index body */
.index-hero { position: relative; overflow: hidden; min-height: 460px; background-color: #112f55; background-position: center; background-size: cover; color: #fff; }
.index-hero-scrim { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,28,51,.96) 0%, rgba(11,37,67,.86) 48%, rgba(11,35,61,.28) 100%); }
.index-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 80px; align-items: end; min-height: 460px; padding-bottom: 64px; }
.index-hero h1 { max-width: 760px; margin: 14px 0 18px; font-family: "Fraunces", Georgia, serif; font-size: clamp(44px, 5.2vw, 72px); font-weight: 600; letter-spacing: -.055em; line-height: .98; }
.index-hero-copy { max-width: 625px; margin: 0; color: #e0e7ee; font-size: 20px; line-height: 1.45; }
.hero-points { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 27px; }
.hero-points span, .hero-tags span { border: 1px solid rgba(233,213,149,.34); background: rgba(5,22,41,.25); padding: 6px 10px; color: #f2e3ad; font-size: 12px; font-weight: 600; }
.hero-index-note { align-self: end; padding: 21px 20px; border-top: 2px solid #c9a449; background: rgba(255,255,255,.08); backdrop-filter: blur(8px); }
.hero-index-note svg { color: #e2c970; }
.hero-index-note p { margin: 15px 0 8px; color: #fff; font-family: "Fraunces", Georgia, serif; font-size: 20px; line-height: 1.14; }
.hero-index-note span { color: #d6e0eb; font-size: 13px; line-height: 1.4; }
.finder-band { position: relative; z-index: 2; margin-top: -29px; }
.finder-wrap { display: grid; grid-template-columns: 235px minmax(0, 1fr); gap: 24px; align-items: stretch; padding: 20px; background: #fffdf8; box-shadow: 0 15px 34px rgba(23,36,56,.16); }
.finder-heading { display: flex; gap: 13px; align-items: flex-start; border-right: 1px solid #dedbd3; padding: 7px 23px 7px 5px; }
.finder-heading > span { color: #9d8139; font-family: "Fraunces", Georgia, serif; font-size: 22px; }
.finder-heading p { margin: 0; color: #657080; font-size: 13px; line-height: 1.35; }
.finder-heading strong { color: #172d4a; font-size: 14px; }
.finder-input-wrap { display: flex; align-items: center; gap: 11px; border-bottom: 2px solid #b5b4ae; color: #9d8139; padding: 0 4px; }
.finder-input-wrap:focus-within { border-color: #c9a449; }
.finder-input-wrap input { width: 100%; border: 0; background: transparent; color: #122c4e; font-size: 17px; outline: 0; }
.finder-input-wrap input::placeholder { color: #8a929e; }
.clear-search { display: grid; place-items: center; border: 0; background: transparent; color: #657080; }
.pathways-section { padding-top: 112px; background: #f7f5f0; }
.pathway-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #cfcfc9; border-left: 1px solid #cfcfc9; }
.pathway-card { position: relative; min-height: 255px; border: 0; border-right: 1px solid #cfcfc9; border-bottom: 1px solid #cfcfc9; background: #f7f5f0; padding: 29px 25px 23px; color: #172438; text-align: left; transition: background .2s ease-out, color .2s ease-out, transform .2s ease-out; }
.pathway-card:hover { z-index: 1; background: #102b4e; color: #fff; transform: translateY(-5px); box-shadow: 0 13px 24px rgba(16,43,78,.16); }
.pathway-index { display: block; margin-bottom: 38px; color: #9c7d2d; font-family: "Fraunces", Georgia, serif; font-size: 18px; }
.pathway-card h3 { max-width: 190px; margin: 0; font-family: "Fraunces", Georgia, serif; font-size: 25px; font-weight: 600; letter-spacing: -.025em; line-height: 1.08; }
.pathway-card p { margin: 12px 0 20px; color: #667080; font-size: 14px; line-height: 1.4; }
.pathway-card:hover p { color: #ced9e4; }
.pathway-link { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; color: #6d5317; font-size: 13px; font-weight: 700; }
.pathway-card:hover .pathway-link { color: #e2c970; }
.catalogue-section { background: #fffdf8; }
.catalogue-controls { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; border-bottom: 1px solid #d9d7d0; padding-bottom: 17px; }
.filter-tabs { display: flex; flex-wrap: wrap; gap: 7px; }
.filter-tabs button { border: 1px solid #c9c9c3; background: transparent; padding: 7px 11px; color: #475569; font-size: 13px; font-weight: 600; transition: background .16s ease-out, color .16s ease-out, border .16s ease-out; }
.filter-tabs button:hover, .filter-tabs button.is-active { border-color: #102b4e; background: #102b4e; color: #fff; }
.catalogue-controls > p { margin: 0; white-space: nowrap; color: #6a7481; font-size: 13px; }
.catalogue-controls strong { color: #9b7927; font-family: "Fraunces", Georgia, serif; font-size: 20px; }
.topic-columns { display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 36px; }
.topic-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) 18px; gap: 13px; align-items: center; min-height: 77px; border-bottom: 1px solid #e0dfd9; padding: 11px 0; transition: padding .16s ease-out, color .16s ease-out; }
.topic-row:hover { padding-left: 9px; color: #6a5016; }
.topic-number { color: #a38437; font-family: "Fraunces", Georgia, serif; font-size: 14px; }
.topic-row strong { display: block; color: #182f4d; font-family: "Fraunces", Georgia, serif; font-size: 20px; font-weight: 600; letter-spacing: -.018em; line-height: 1.15; }
.topic-row small { display: block; margin-top: 4px; color: #77808c; font-size: 12px; }
.topic-row svg { color: #a18337; }
.empty-topics { margin-top: 28px; border-left: 3px solid #c9a449; background: #f2eee4; padding: 18px 21px; }
.empty-topics p { margin: 0 0 5px; font-family: "Fraunces", Georgia, serif; font-size: 20px; }
.empty-topics button { border: 0; background: transparent; padding: 0; color: #604b17; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.reference-note-section { background: #e4eaec; padding: 67px 0; }
.reference-note-grid { display: grid; grid-template-columns: 1.22fr .78fr; gap: 100px; align-items: end; }
.reference-note-grid h2 { max-width: 690px; color: #173754; font-size: clamp(27px, 3vw, 39px); }
.reference-note-grid > div:last-child { border-left: 1px solid #c2ccd0; padding-left: 32px; }
.reference-note-grid > div:last-child p { margin: 0 0 17px; color: #485a6b; font-size: 16px; }
.reference-note-grid a, .text-link { display: inline-flex; align-items: center; gap: 8px; color: #664e13; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }

/* Topic template body */
.topic-breadcrumb-wrap .breadcrumbs { padding-top: 13px; padding-bottom: 13px; }
.topic-hero { position: relative; min-height: 392px; overflow: hidden; background-color: #10325b; background-size: cover; background-position: center; color: #fff; }
.topic-hero-scrim { position: absolute; inset: 0; background: linear-gradient(91deg, rgba(10,32,57,.96), rgba(10,34,61,.85) 53%, rgba(8,24,43,.35)); }
.topic-hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 70px; align-items: end; min-height: 392px; padding: 56px 0 44px; }
.hero-copy h1 { max-width: 720px; margin: 0 0 16px; font-family: "Fraunces", Georgia, serif; font-size: clamp(43px, 5vw, 67px); font-weight: 600; letter-spacing: -.052em; line-height: .99; }
.hero-summary { max-width: 690px; margin: 0; color: #e1e7ed; font-size: 19px; line-height: 1.45; }
.hero-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 25px; }
.hero-meta { border-top: 2px solid #c9a449; padding-top: 16px; }
.case-file { display: block; margin-bottom: 43px; color: #e1c66e; font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.hero-meta p { display: flex; align-items: center; gap: 7px; margin: 0 0 15px; color: #d7e0eb; font-size: 12px; line-height: 1.4; }
.hero-meta a { display: inline-flex; align-items: center; gap: 6px; color: #fff; font-size: 13px; font-weight: 700; }
.local-nav { position: relative; z-index: 3; border-bottom: 1px solid #d9d7d1; background: #fffdf8; box-shadow: 0 5px 14px rgba(16,43,78,.06); }
.local-nav > div { display: flex; align-items: center; gap: 20px; min-height: 53px; overflow-x: auto; white-space: nowrap; }
.local-nav span { color: #98782b; font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.local-nav a { color: #4b5b6d; font-size: 13px; }
.local-nav a:hover { color: #674e14; text-decoration: underline; text-underline-offset: 4px; }
.local-nav .local-nav-action { display: inline-flex; align-items: center; gap: 5px; margin-left: auto; color: #183b62; font-weight: 700; }
.topic-layout { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 67px; padding-top: 78px; padding-bottom: 92px; }
.reading-rail { position: sticky; top: 22px; height: fit-content; padding-top: 7px; }
.reading-rail > a { display: block; border-top: 1px solid #d5d6d1; padding: 10px 0; color: #4d5a6b; font-size: 13px; transition: padding .16s ease-out, color .16s ease-out; }
.reading-rail > a:hover { padding-left: 6px; color: #775c1e; }
.rail-callout { margin-top: 25px; border-left: 2px solid #c9a449; background: #f0eee8; padding: 14px; }
.rail-callout span { color: #907124; font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.rail-callout p { margin: 7px 0 0; color: #616d7a; font-size: 12px; line-height: 1.45; }
.topic-section { scroll-margin-top: 20px; margin-bottom: 104px; }
.coverage-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.coverage-card { min-height: 206px; border: 1px solid #deded8; background: #fff; padding: 23px; transition: box-shadow .2s ease-out, transform .2s ease-out; }
.coverage-card:hover { box-shadow: 0 13px 26px rgba(16,43,78,.12); transform: translateY(-4px); }
.coverage-icon { display: grid; width: 33px; height: 33px; place-items: center; margin-bottom: 19px; background: #e9eff1; color: #173b60; }
.coverage-card h3 { margin: 0; color: #173451; font-family: "Fraunces", Georgia, serif; font-size: 23px; font-weight: 600; letter-spacing: -.025em; line-height: 1.1; }
.coverage-card > p:last-child { margin: 9px 0 0; color: #667180; font-size: 14px; line-height: 1.45; }
.topic-section-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, .68fr); gap: 50px; align-items: end; padding: 52px 0; border-top: 1px solid #d4d6d2; border-bottom: 1px solid #d4d6d2; }
.topic-section-split .section-heading { grid-template-columns: 42px minmax(0,1fr); margin-bottom: 19px; }
.body-lead { max-width: 570px; margin: 0 0 19px; color: #425469; font-family: "Fraunces", Georgia, serif; font-size: 21px; line-height: 1.38; }
.guide-visual { margin: 0; }
.guide-visual img { display: block; width: 100%; border: 1px solid #d9d9d3; }
.guide-visual figcaption { margin-top: 9px; color: #7a838d; font-size: 11px; font-style: italic; }
.clause-section { background: #f0f2ef; margin-left: -40px; margin-right: -40px; padding: 50px 40px; }
.clause-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 35px; border-top: 1px solid #cdd1ce; }
.clause-item { display: grid; grid-template-columns: 32px minmax(0,1fr) 18px; gap: 11px; align-items: start; min-height: 128px; border-bottom: 1px solid #cdd1ce; padding: 18px 0; }
.clause-item > span { color: #9b7b2a; font-family: "Fraunces", Georgia, serif; font-size: 16px; }
.clause-item h3 { margin: 0; color: #183550; font-family: "Fraunces", Georgia, serif; font-size: 20px; font-weight: 600; letter-spacing: -.02em; line-height: 1.14; }
.clause-item p { margin: 7px 0 0; color: #687482; font-size: 13px; line-height: 1.45; }
.clause-item svg { color: #9c7f33; margin-top: 2px; }
.guides-section { margin-bottom: 88px; }
.guide-stack { border-top: 1px solid #d6d7d3; }
.featured-guide { display: grid; grid-template-columns: 100px minmax(0,1fr) 24px; gap: 20px; align-items: center; border-bottom: 1px solid #d6d7d3; padding: 22px 8px; transition: padding .18s ease-out, background .18s ease-out; }
.featured-guide:hover { background: #edf1f1; padding-left: 15px; padding-right: 15px; }
.guide-label { color: #98782b; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.featured-guide h3 { margin: 0; color: #172f4d; font-family: "Fraunces", Georgia, serif; font-size: 24px; font-weight: 600; letter-spacing: -.024em; line-height: 1.12; }
.featured-guide p { margin: 6px 0 0; color: #687482; font-size: 14px; }
.featured-guide svg { color: #907022; }
.article-utility { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 19px; color: #6d7784; font-size: 13px; }
.article-utility a { display: inline-flex; align-items: center; gap: 6px; color: #644b11; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.related-section { margin-bottom: 88px; }
.related-grid { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid #d5d7d3; border-left: 1px solid #d5d7d3; }
.related-grid a { display: grid; grid-template-columns: 1fr auto; gap: 7px 12px; min-height: 144px; border-right: 1px solid #d5d7d3; border-bottom: 1px solid #d5d7d3; background: #fffdf8; padding: 20px; transition: background .18s ease-out, color .18s ease-out; }
.related-grid a:hover { background: #173754; color: #fff; }
.related-grid span { color: #173754; font-family: "Fraunces", Georgia, serif; font-size: 22px; font-weight: 600; letter-spacing: -.025em; line-height: 1.1; }
.related-grid p { grid-column: 1/-1; margin: 0; color: #687482; font-size: 13px; line-height: 1.42; }
.related-grid svg { color: #9b7c2f; }
.related-grid a:hover span { color: #fff; }.related-grid a:hover p { color: #d3deea; }.related-grid a:hover svg { color: #e2c970; }
.faq-section { margin-bottom: 0; }
.faq-list { border-top: 1px solid #d5d7d3; }
.faq-list details { border-bottom: 1px solid #d5d7d3; padding: 0 0 0 0; }
.faq-list summary { position: relative; padding: 18px 38px 18px 0; color: #183551; font-family: "Fraunces", Georgia, serif; font-size: 21px; font-weight: 600; line-height: 1.25; list-style: none; cursor: pointer; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary:after { position: absolute; right: 3px; top: 15px; color: #9b7c2f; content: "+"; font-family: "Source Sans 3", Arial, sans-serif; font-size: 29px; font-weight: 400; }
.faq-list details[open] summary:after { content: "−"; }
.faq-list details p { max-width: 720px; margin: -3px 0 20px; color: #65717e; font-size: 15px; }
.counsel-cta { margin-top: 0; background: #143758; color: #fff; }
.counsel-cta-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: center; padding: 64px 0; }
.counsel-cta h2 { max-width: 670px; color: #fff; font-size: clamp(30px, 3.5vw, 48px); }
.counsel-cta p:not(.eyebrow) { max-width: 585px; margin: 14px 0 0; color: #d4dfea; font-size: 16px; }
.cta-actions { display: flex; flex-wrap: wrap; gap: 11px; align-items: center; justify-content: flex-start; }
.button-ochre, .button-quiet { display: inline-flex; align-items: center; gap: 8px; padding: 12px 16px; font-size: 14px; font-weight: 700; transition: background .16s ease-out, border .16s ease-out, transform .16s ease-out; }
.button-ochre { background: #c9a449; color: #112f52; }.button-quiet { border: 1px solid rgba(255,255,255,.42); color: #fff; }.button-quiet:hover { background: rgba(255,255,255,.12); }

/* Case-file system and purposeful surface rhythm — review refinement. */
.section-heading { position:relative; }
.section-index { position:relative; }
.section-index:after { position:absolute; top:-5px; left:0; width:7px; height:7px; background:#c9a449; content:""; }
.finder-wrap { background:#e5eef0; }
.pathway-card { overflow:hidden; }
.compass-gate { position:absolute; top:26px; right:23px; width:31px; height:31px; border:1px solid #b89b4d; opacity:.82; transform:rotate(45deg); }
.compass-gate:before, .compass-gate:after { position:absolute; background:#b89b4d; content:""; }
.compass-gate:before { top:50%; left:-7px; width:43px; height:1px; }.compass-gate:after { top:-7px; left:50%; width:1px; height:43px; }
.pathway-card:hover .compass-gate { border-color:#e2c970; }.pathway-card:hover .compass-gate:before, .pathway-card:hover .compass-gate:after { background:#e2c970; }
.pathway-action { display:block; color:#9a7b2a; font-family:"Source Sans 3", Arial, sans-serif; font-size:12px; font-weight:700; letter-spacing:.14em; line-height:1.2; text-transform:uppercase; }.pathway-card:hover .pathway-action { color:#e2c970; }
.catalogue-section { background:#e7eff1; }.topic-row { position:relative; border-bottom-color:#cdd9db; }.topic-row:before { position:absolute; top:16px; bottom:16px; left:0; width:2px; background:#c9a449; content:""; opacity:0; transition:opacity .16s ease-out; }.topic-row:hover:before { opacity:1; }.topic-row small { font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.reference-note-section { position:relative; background:#173b60; padding:67px 0; color:#fff; border-top:4px solid #c9a449; }.reference-note-section:before { position:absolute; top:-8px; left:calc(50% - 590px); width:9px; height:9px; background:#c9a449; content:""; }.reference-note-section .eyebrow { color:#e2c970; }.reference-note-grid h2 { color:#fff; }.reference-note-grid > div:last-child { border-left-color:rgba(255,255,255,.25); }.reference-note-grid > div:last-child p { color:#d1ddea; }.reference-note-grid a { color:#f0d87f; }
.clause-section { background:#dfebed; }
.guides-section { position:relative; margin:0 -40px 88px; padding:56px 40px; background:#102f52; }.guides-section:before { position:absolute; top:0; left:40px; width:9px; height:9px; background:#c9a449; content:""; }.guides-section .section-heading h2 { color:#fff; }.guides-section .section-heading-copy > p:last-child { color:#d2ddea; }.guides-section .section-index { color:#e2c970; }.guides-section .section-heading-copy:before { background:#e2c970; }.guide-stack { border-top-color:rgba(255,255,255,.28); }
.featured-guide { position:relative; border-bottom-color:rgba(255,255,255,.24); padding:22px 8px 22px 18px; }.featured-guide:before { position:absolute; top:25px; left:0; width:7px; height:7px; background:#c9a449; content:""; }.featured-guide:hover { background:rgba(255,255,255,.09); padding-left:26px; padding-right:15px; }.guide-label { color:#e2c970; }.featured-guide h3 { color:#fff; }.featured-guide p { color:#c6d3e1; }.featured-guide svg { color:#e2c970; }.article-utility { color:#ced9e5; }.article-utility a { color:#f0d87f; }
.related-grid a { position:relative; padding:29px 20px 20px; }.relation-index { position:absolute; top:10px; left:19px; color:#9b7c2f; font-family:"Fraunces", Georgia, serif; font-size:11px; font-style:normal; letter-spacing:.12em; }
.counsel-cta { position:relative; border-top:4px solid #c9a449; }.counsel-cta-grid { position:relative; }.counsel-cta-grid:before { position:absolute; top:-8px; left:0; width:9px; height:9px; background:#c9a449; content:""; }

@media (prefers-reduced-motion: no-preference) {
  .index-hero-grid > *, .topic-hero-inner > * { animation: quiet-rise .48s cubic-bezier(.23,1,.32,1) both; }
  .index-hero-grid > *:nth-child(2), .topic-hero-inner > *:nth-child(2) { animation-delay: .08s; }
  @keyframes quiet-rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
}

@media (max-width: 900px) {
  .masthead { grid-template-columns: 1fr auto; gap: 18px; }.chrome-search { display:none; }.primary-nav { overflow-x: auto; }.primary-nav > div { display: flex; width: max-content; min-width: 100%; }.primary-nav a { padding-inline: 18px; }.footer-grid { grid-template-columns: 1.2fr 1fr 1fr; gap: 30px; }.footer-grid > div:last-child { display:none; }
  .index-hero-grid, .topic-hero-inner { gap: 36px; }.index-hero-grid { grid-template-columns: 1fr 205px; }.pathway-grid { grid-template-columns: repeat(2, 1fr); }.topic-layout { grid-template-columns: 150px minmax(0,1fr); gap: 38px; }.clause-section { margin-left: -28px; margin-right: -28px; padding-left: 28px; padding-right: 28px; }.counsel-cta-grid, .reference-note-grid { gap: 45px; }
}

@media (max-width: 660px) {
  .reference-note-section:before { left:16px; }.guides-section { margin-left:-16px; margin-right:-16px; padding-left:16px; padding-right:16px; }.guides-section:before { left:16px; }.featured-guide { padding-left:16px; }
  .portal-frame { width: min(100% - 32px, 1180px); }.utility-inner { justify-content: center; min-height: 26px; }.utility-inner p { display:none; }.utility-links { font-size: 11px; }.masthead { min-height: 62px; }.brand-lockup img { width: 33px; height:33px; }.brand-lockup strong { font-size: 14px; }.header-cta { padding: 7px 9px; font-size: 12px; }.header-cta svg { display:none; }.primary-nav a { font-size: 12px; }.footer-grid { grid-template-columns: 1fr 1fr; padding: 38px 0 30px; }.footer-brand { grid-column: 1/-1; }.footer-bottom { display:grid; gap:5px; font-size:11px; }
  .index-hero { min-height: 520px; }.index-hero-grid { display:block; min-height: 520px; padding-top: 0; padding-bottom: 33px; }.index-hero h1 { font-size: clamp(42px, 12vw, 57px); }.index-hero-copy { font-size: 17px; }.hero-index-note { display:none; }.finder-band { margin-top: -20px; }.finder-wrap { display:block; padding: 17px; }.finder-heading { border-right: 0; border-bottom: 1px solid #dedbd3; padding: 0 0 13px; margin-bottom: 13px; }.finder-input-wrap { min-height:42px; }.finder-input-wrap input { font-size: 14px; }.editorial-section { padding: 64px 0; }.section-heading { grid-template-columns: 32px minmax(0,1fr); gap: 14px; margin-bottom: 26px; }.section-action { grid-column: 2; }.section-heading h2, .reference-note-grid h2 { font-size: 30px; }.section-heading-copy > p:last-child { font-size: 15px; }.pathway-grid, .topic-columns, .coverage-grid, .clause-grid, .related-grid { grid-template-columns: 1fr; }.pathway-card { min-height: 216px; }.pathway-index { margin-bottom: 24px; }.catalogue-controls { display:block; }.catalogue-controls > p { margin-top: 12px; }.filter-tabs { gap:5px; }.filter-tabs button { padding: 6px 8px; font-size: 12px; }.topic-row strong { font-size: 19px; }.reference-note-grid { grid-template-columns:1fr; gap:23px; }.reference-note-grid > div:last-child { border-left:0; border-top:1px solid #c2ccd0; padding:20px 0 0; }
  .topic-breadcrumb-wrap .breadcrumbs { padding: 11px 0; }.topic-hero { min-height: 462px; }.topic-hero-inner { display:block; min-height:462px; padding: 57px 0 32px; }.hero-copy h1 { font-size: clamp(42px, 12vw, 55px); }.hero-summary { font-size: 17px; }.hero-tags { margin-top: 18px; }.hero-tags span { font-size:11px; }.hero-meta { display:none; }.local-nav > div { gap:15px; min-height:48px; }.local-nav > div > span, .local-nav .local-nav-action { display:none; }.topic-layout { display:block; padding-top: 57px; padding-bottom:65px; }.reading-rail { display:none; }.topic-section { margin-bottom: 70px; }.topic-section-split { grid-template-columns:1fr; gap:28px; padding:40px 0; }.topic-section-split .section-heading { grid-template-columns:32px minmax(0,1fr); }.body-lead { font-size: 19px; }.clause-section { margin-left: -16px; margin-right: -16px; padding: 42px 16px; }.clause-item { min-height:0; }.featured-guide { grid-template-columns:1fr 20px; gap:7px 14px; padding:19px 2px; }.guide-label { grid-column: 1/-1; }.featured-guide h3 { font-size:21px; }.article-utility { display:block; }.article-utility a { margin-top:9px; }.related-grid a { min-height:123px; }.faq-list summary { font-size:19px; }.counsel-cta-grid { grid-template-columns:1fr; gap:28px; padding:51px 0; }.counsel-cta h2 { font-size:32px; }.cta-actions { align-items:flex-start; flex-direction:column; }
}

/* === 2026 body-only redesign: keyword index + reusable child topic template === */
.kw-redesign, .topic-redesign { background:#f7f5f0; }
.kw-hero { position:relative; overflow:hidden; background:
  radial-gradient(circle at 82% 22%, rgba(201,164,73,.18), transparent 23%),
  linear-gradient(135deg,#0d294b 0%,#12365f 54%,#102b4e 100%); color:#fff; }
.kw-hero:after { content:""; position:absolute; inset:0; opacity:.22; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:42px 42px; }
.kw-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); gap:76px; align-items:end; min-height:560px; padding:62px 0 72px; }
.kw-hero-copy h1 { max-width:820px; margin:8px 0 22px; font:600 clamp(48px,5.6vw,78px)/.98 "Fraunces",Georgia,serif; letter-spacing:-.055em; }
.kw-hero-copy>p { max-width:700px; margin:0; color:#dce5ef; font-size:20px; line-height:1.5; }
.kw-hero-search { display:grid; grid-template-columns:24px minmax(0,1fr) 32px; align-items:center; max-width:760px; min-height:62px; margin-top:30px; padding:0 16px; background:#fffdf8; color:#17324f; box-shadow:0 18px 45px rgba(0,0,0,.22); }
.kw-hero-search input { width:100%; border:0; outline:0; background:transparent; padding:16px 10px; color:#172438; font-size:16px; }
.kw-hero-search input::placeholder { color:#7a8490; }
.kw-hero-search button,.kw-inline-search button { display:grid; place-items:center; border:0; background:transparent; color:#6b7480; }
.kw-trust { display:flex; flex-wrap:wrap; gap:9px 18px; margin-top:19px; color:#e9dca7; font-size:12px; font-weight:700; }
.kw-trust span:before { content:"•"; margin-right:8px; color:#c9a449; }
.kw-hero-aside { align-self:end; border-top:3px solid #c9a449; padding:25px 22px 24px; background:rgba(255,255,255,.075); backdrop-filter:blur(10px); }
.kw-hero-aside>svg { color:#e5c76d; margin-bottom:20px; }
.kw-hero-aside h2 { margin:8px 0 12px; font:600 27px/1.08 "Fraunces",Georgia,serif; }
.kw-hero-aside>p:last-of-type { margin:0 0 18px; color:#d3deea; font-size:14px; }
.kw-hero-aside a { display:inline-flex; align-items:center; gap:8px; color:#edd98f; font-size:13px; font-weight:700; }
.kw-pathways { background:#fffdf8; }
.kw-path-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #d9d7d0; border-left:1px solid #d9d7d0; }
.kw-path-card { min-height:236px; text-align:left; border:0; border-right:1px solid #d9d7d0; border-bottom:1px solid #d9d7d0; background:transparent; padding:25px 26px 23px; transition:background .18s ease, transform .18s ease; }
.kw-path-card:hover { background:#f3eee2; transform:translateY(-2px); }
.kw-path-top { display:flex; justify-content:space-between; align-items:center; color:#9b7c31; }
.kw-path-top span { font:600 15px/1 "Fraunces",Georgia,serif; }
.kw-path-card h3 { max-width:260px; margin:40px 0 9px; color:#102b4e; font:600 25px/1.08 "Fraunces",Georgia,serif; letter-spacing:-.025em; }
.kw-path-card p { margin:0 0 20px; color:#66707d; font-size:14px; }
.kw-path-card b { display:flex; align-items:center; gap:7px; color:#664f17; font-size:13px; }
.kw-featured { background:#e6ecee; padding:67px 0; }
.kw-featured-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:86px; align-items:start; }
.kw-featured h2 { margin:6px 0 13px; color:#102b4e; font:600 38px/1.06 "Fraunces",Georgia,serif; letter-spacing:-.035em; }
.kw-featured-grid>div:first-child>p:last-child { max-width:390px; color:#596876; }
.kw-featured-list { border-top:1px solid #bcc9ce; }
.kw-featured-list a { display:grid; grid-template-columns:minmax(0,1fr) 20px; gap:18px; align-items:center; border-bottom:1px solid #bcc9ce; padding:17px 0; transition:padding .16s ease; }
.kw-featured-list a:hover { padding-left:8px; }
.kw-featured-list strong,.kw-featured-list small { display:block; }
.kw-featured-list strong { color:#17324f; font:600 20px/1.15 "Fraunces",Georgia,serif; }
.kw-featured-list small { margin-top:4px; color:#697581; }
.kw-featured-list svg { color:#98782b; }
.kw-catalogue { background:#fffdf8; }
.kw-filterbar { display:flex; justify-content:space-between; gap:28px; align-items:flex-start; padding:18px 0; border-top:1px solid #d6d5cf; border-bottom:1px solid #d6d5cf; }
.kw-filters { display:flex; flex-wrap:wrap; gap:7px; }
.kw-filters button { border:1px solid #c8c8c2; background:transparent; color:#44556a; padding:7px 10px; font-size:12px; font-weight:700; }
.kw-filters button:hover,.kw-filters button.active { border-color:#102b4e; background:#102b4e; color:#fff; }
.kw-filterbar>span { white-space:nowrap; color:#687383; font-size:13px; }
.kw-filterbar b { color:#98782b; font:600 21px/1 "Fraunces",Georgia,serif; }
.kw-inline-search { display:grid; grid-template-columns:22px minmax(0,1fr) 30px; align-items:center; max-width:540px; margin:24px 0 8px; border-bottom:2px solid #17324f; padding:8px 2px; color:#98782b; }
.kw-inline-search input { border:0; outline:0; background:transparent; padding:6px 8px; color:#172438; }
.kw-topic-list { margin-top:15px; display:grid; grid-template-columns:1fr 1fr; column-gap:34px; }
.kw-topic-row { display:grid; grid-template-columns:34px minmax(0,1fr) auto 18px; gap:12px; align-items:center; min-height:88px; border-bottom:1px solid #dfddd7; padding:13px 0; transition:padding .16s ease; }
.kw-topic-row:hover { padding-left:8px; }
.kw-topic-no { color:#a18337; font:600 14px/1 "Fraunces",Georgia,serif; }
.kw-topic-main strong { display:block; color:#15324f; font:600 20px/1.15 "Fraunces",Georgia,serif; }
.kw-topic-main small { display:block; margin-top:5px; color:#76808c; font-size:12px; }
.kw-topic-row em { max-width:135px; color:#78818c; font-size:10px; font-style:normal; text-align:right; text-transform:uppercase; letter-spacing:.06em; }
.kw-topic-row svg { color:#9b7b31; }
.kw-questions { background:#f1eee5; }
.kw-question-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.kw-question-grid article { min-height:210px; border-top:3px solid #c9a449; background:#fffdf8; padding:25px; }
.kw-question-grid blockquote { margin:0 0 32px; color:#17324f; font:600 23px/1.2 "Fraunces",Georgia,serif; letter-spacing:-.02em; }
.kw-question-grid p { margin:0; color:#637080; font-size:14px; }
.kw-question-grid a { color:#614b16; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.kw-how { background:#102b4e; color:#fff; padding:60px 0 66px; }
.kw-how-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:25px; border-top:1px solid rgba(255,255,255,.2); }
.kw-how-grid>div { padding:24px 30px 0 0; border-right:1px solid rgba(255,255,255,.15); }
.kw-how-grid>div+div { padding-left:30px; }
.kw-how-grid b { color:#e0c568; font:600 16px/1 "Fraunces",Georgia,serif; }
.kw-how-grid h3 { margin:22px 0 8px; font:600 27px/1 "Fraunces",Georgia,serif; }
.kw-how-grid p { margin:0; max-width:260px; color:#bfccd8; }

/* reusable child topic template */
.td-hero { background:linear-gradient(132deg,#0c2b4f 0%,#12375e 70%,#1b466d 100%); color:#fff; }
.td-hero-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr); gap:80px; align-items:center; min-height:430px; padding:62px 0; }
.td-hero h1 { max-width:800px; margin:8px 0 18px; font:600 clamp(47px,5vw,70px)/.98 "Fraunces",Georgia,serif; letter-spacing:-.055em; }
.td-summary { max-width:720px; margin:0; color:#dce5ed; font-size:19px; }
.td-reviewed { display:flex; align-items:center; gap:8px; margin-top:23px; color:#dac774; font-size:12px; font-weight:700; }
.td-facts { border-top:3px solid #c9a449; background:#fffdf8; color:#172438; padding:24px 25px; box-shadow:0 16px 36px rgba(0,0,0,.17); }
.td-facts>div { display:grid; grid-template-columns:110px minmax(0,1fr); gap:15px; border-top:1px solid #dedbd3; padding:12px 0; }
.td-facts span { color:#78818a; font-size:11px; text-transform:uppercase; letter-spacing:.05em; }
.td-facts strong { color:#17324f; font-size:14px; line-height:1.3; }
.td-local { position:sticky; top:0; z-index:20; border-bottom:1px solid #d8d7d1; background:#fffdf8; box-shadow:0 4px 14px rgba(16,43,78,.07); }
.td-local>div { display:flex; gap:20px; align-items:center; min-height:54px; overflow:auto; white-space:nowrap; }
.td-local>div>span { color:#98782b; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.td-local a { color:#4c596a; font-size:12px; }
.td-local-cta { margin-left:auto!important; display:inline-flex; align-items:center; gap:6px; padding:8px 10px; background:#102b4e; color:#fff!important; font-weight:700; }
.td-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:68px; align-items:start; padding-top:70px; }
.td-rail { position:sticky; top:76px; border-top:2px solid #c9a449; padding-top:18px; }
.td-rail>a { display:block; border-bottom:1px solid #dedbd5; padding:10px 0; color:#526171; font-size:12px; }
.td-rail>a:hover { color:#654d14; }
.td-rail .rail-callout { margin-top:25px; background:#ece8dd; padding:16px; color:#526171; }
.td-rail .rail-callout svg { color:#9b7b31; }
.td-rail .rail-callout span { display:block; margin:8px 0 6px; color:#17324f; font-size:11px; font-weight:800; text-transform:uppercase; }
.td-rail .rail-callout p { margin:0; font-size:11px; }
.td-content { min-width:0; }
.td-section { scroll-margin-top:76px; padding:24px 0 86px; border-bottom:1px solid #dcdbd5; }
.td-section:last-child { border-bottom:0; }
.td-answer-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.td-answer-grid article { border-top:3px solid #173b64; background:#fffdf8; padding:25px; box-shadow:0 8px 24px rgba(16,43,78,.06); }
.td-answer-grid article:last-child { border-color:#c9a449; }
.td-answer-grid span,.td-reading span,.td-case-grid span { color:#98782b; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.td-answer-grid h3 { margin:16px 0 9px; color:#17324f; font:600 24px/1.13 "Fraunces",Georgia,serif; }
.td-answer-grid p { margin:0; color:#637080; }
.td-keypoint { display:flex; gap:13px; align-items:flex-start; margin-top:18px; background:#eee8d8; padding:18px 20px; color:#4e5b67; }
.td-keypoint svg { flex:0 0 auto; color:#9c7926; margin-top:3px; }
.td-keypoint p { margin:0; }
.td-scenario { border:1px solid #d5d4cd; background:#fffdf8; }
.td-scenario-tabs { display:flex; gap:0; overflow:auto; border-bottom:1px solid #d5d4cd; }
.td-scenario-tabs button { flex:1 0 auto; border:0; border-right:1px solid #d5d4cd; background:#f1eee5; padding:13px 15px; color:#536172; font-size:12px; font-weight:700; }
.td-scenario-tabs button.active { background:#102b4e; color:#fff; }
.td-scenario-panel { min-height:240px; padding:31px 34px; }
.td-scenario-panel>span { color:#98782b; font-size:10px; font-weight:800; text-transform:uppercase; }
.td-scenario-panel h3 { max-width:640px; margin:12px 0; color:#17324f; font:600 30px/1.08 "Fraunces",Georgia,serif; }
.td-scenario-panel>p { max-width:720px; color:#626d7a; font-size:16px; }
.td-scenario-panel>div { display:flex; align-items:center; gap:8px; margin-top:22px; border-top:1px solid #e0ddd5; padding-top:16px; color:#53606c; font-size:13px; }
.td-scenario-panel>div svg { color:#9c7926; }
.td-timeline { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #d6d4cd; border-bottom:1px solid #d6d4cd; }
.td-timeline>div { position:relative; min-height:245px; border-right:1px solid #d6d4cd; padding:23px 20px; }
.td-timeline>div:last-child { border-right:0; }
.td-timeline .accent { background:#17324f; color:#fff; }
.td-timeline b { color:#a17f2e; font:600 15px/1 "Fraunces",Georgia,serif; }
.td-timeline time { display:block; margin:42px 0 11px; color:#98782b; font-size:12px; font-weight:800; }
.td-timeline .accent time { color:#e5cd78; }
.td-timeline h3 { margin:0 0 8px; color:#17324f; font:600 21px/1.12 "Fraunces",Georgia,serif; }
.td-timeline .accent h3 { color:#fff; }
.td-timeline p { margin:0; color:#6b7480; font-size:12px; }
.td-timeline .accent p { color:#c7d3df; }
.td-checks { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #d8d6cf; border-left:1px solid #d8d6cf; }
.td-checks article { display:grid; grid-template-columns:30px minmax(0,1fr) 20px; gap:15px; min-height:150px; border-right:1px solid #d8d6cf; border-bottom:1px solid #d8d6cf; background:#fffdf8; padding:22px; }
.td-checks>article>span { color:#a17f2e; font:600 14px/1 "Fraunces",Georgia,serif; }
.td-checks h3 { margin:0 0 7px; color:#17324f; font:600 20px/1.1 "Fraunces",Georgia,serif; }
.td-checks p { margin:0; color:#697480; font-size:13px; }
.td-checks svg { color:#9c7926; }
.td-impact-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.td-impact-grid article { background:#e8edef; min-height:190px; padding:21px; }
.td-impact-grid svg { color:#9b7a2e; }
.td-impact-grid h3 { margin:28px 0 8px; color:#17324f; font:600 20px/1.1 "Fraunces",Georgia,serif; }
.td-impact-grid p { margin:0; color:#64717e; font-size:12px; }
.td-reading { display:grid; grid-template-columns:1.12fr .88fr; gap:20px; }
.td-reading .primary { display:block; min-height:310px; background:#102b4e; color:#fff; padding:31px; }
.td-reading .primary h3 { margin:42px 0 10px; font:600 31px/1.08 "Fraunces",Georgia,serif; }
.td-reading .primary p { color:#c3d0dc; }
.td-reading .primary b { display:flex; align-items:center; gap:7px; margin-top:30px; color:#ead273; font-size:13px; }
.td-reading>div { border-top:1px solid #d6d4cd; }
.td-reading>div a { display:grid; grid-template-columns:90px minmax(0,1fr) 18px; gap:14px; align-items:center; min-height:94px; border-bottom:1px solid #d6d4cd; }
.td-reading>div strong { color:#17324f; font-family:"Fraunces",Georgia,serif; }
.td-case-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.td-case-grid article { background:#fffdf8; min-height:230px; padding:24px; border-top:2px solid #c9a449; }
.td-case-grid h3 { margin:28px 0 10px; color:#17324f; font:600 22px/1.15 "Fraunces",Georgia,serif; }
.td-case-grid p { margin:0; color:#69737e; font-size:13px; }
.td-sources { background:#e6ecee; padding:62px 0; }
.td-sources-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:75px; align-items:start; }
.td-sources-grid svg { color:#9b7b31; }
.td-sources h2 { margin:10px 0 8px; color:#17324f; font:600 34px/1.05 "Fraunces",Georgia,serif; }
.td-sources p:last-child { color:#65717e; }
.td-sources-grid>div:last-child { border-top:1px solid #bcc8cd; }
.td-sources-grid>div:last-child a { display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid #bcc8cd; padding:15px 0; color:#17324f; font-weight:700; }

@media (max-width: 980px) {
  .kw-hero-grid,.td-hero-grid { grid-template-columns:1fr; gap:34px; }
  .kw-hero-grid { min-height:auto; padding:48px 0 55px; }
  .kw-hero-aside { max-width:540px; }
  .kw-path-grid { grid-template-columns:1fr 1fr; }
  .kw-featured-grid,.td-sources-grid { grid-template-columns:1fr; gap:35px; }
  .kw-topic-list { grid-template-columns:1fr; }
  .td-layout { grid-template-columns:1fr; gap:0; }
  .td-rail { display:none; }
  .td-timeline { grid-template-columns:1fr 1fr; }
  .td-timeline>div:nth-child(2) { border-right:0; }
  .td-impact-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 720px) {
  .portal-frame { width:min(100% - 28px,1180px); }
  .kw-hero-copy h1,.td-hero h1 { font-size:43px; }
  .kw-hero-grid,.td-hero-grid { padding-top:34px; }
  .kw-hero-search { min-height:56px; }
  .kw-path-grid,.kw-question-grid,.td-answer-grid,.td-checks,.td-reading,.td-case-grid { grid-template-columns:1fr; }
  .kw-featured { padding:48px 0; }
  .kw-filterbar { display:block; }
  .kw-filterbar>span { display:block; margin-top:15px; }
  .kw-topic-row { grid-template-columns:28px minmax(0,1fr) 18px; }
  .kw-topic-row em { display:none; }
  .kw-how-grid { grid-template-columns:1fr; }
  .kw-how-grid>div,.kw-how-grid>div+div { border-right:0; border-bottom:1px solid rgba(255,255,255,.15); padding:22px 0; }
  .td-facts { margin-bottom:4px; }
  .td-local>div>span { display:none; }
  .td-local-cta { margin-left:0!important; }
  .td-timeline,.td-impact-grid { grid-template-columns:1fr; }
  .td-timeline>div { border-right:0; border-bottom:1px solid #d6d4cd; }
  .td-timeline>div:last-child { border-bottom:0; }
  .td-section { padding-bottom:62px; }
  .section-heading { grid-template-columns:38px minmax(0,1fr); }
  .section-action { grid-column:2; }
}

.topic-redesign .cll-hub-hero,
.topic-redesign .cll-hub-toc,
.topic-redesign .cll-hub-stats { display: none !important; }
.topic-redesign .cll-hub { max-width: none; padding: 0; }
.kw-redesign .uk-pagination,
.kw-redesign .com-tags__pagination { display: none !important; }
body:has(.kw-redesign) #tm-sidebar,
body:has(.topic-redesign) #tm-sidebar { display: none !important; }
