/* requested-updates.css */
/* Requested transition strips, approximately 1 cm deep. */
body[data-section="about"] .about-lead,body[data-section="projects"] main>.page-lead{border-bottom:38px solid #29243f}
body[data-section="projects"] .project-list>.project:first-child{border-top:0}

/* Equal space above and below Territory buttons. */
.territory-follow>p{margin-bottom:0}
.territory-follow .actions{margin-top:24px;margin-bottom:24px}
.territory-organisations{margin-top:0}
.territory-follow .button[href*="linkedin"]{background:#29243f;color:#fff}

/* Restore article images and align the main drawing with the title and actions. */
.substack-post-card{overflow:hidden;background:#fff;border:1px solid #c7d4d2;padding:0 0 24px}
.substack-post-card img{display:block;width:100%;height:auto;margin-bottom:20px}
.substack-post-card p,.substack-post-card>a:last-child{margin-left:24px;margin-right:24px}
@media(min-width:821px){.substack-feature{align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.substack-art{height:480px;border-radius:0}.substack-art img{width:100%;height:100%;object-fit:contain;object-position:right center}}
@media(max-width:820px){.substack-art{width:100%;max-width:none}.substack-art img{width:100%;height:auto}}

/* Keep the user-indicated face in view as the Group Relations banner resizes.
   Focal point in the original 1536 x 1024 image: approximately (358, 308). */
body[data-section="group-relations"] main > .group-lead{background-position:23.3% 30.1%}

/* banner-height.css */
/* The reference is measured off screen without changing the visible page. */
.banner-reference-measure{position:fixed;left:0;top:0;width:100%;visibility:hidden;pointer-events:none;z-index:-1000}
/* Banner dimensions follow Socioanalysis at the same viewport and language. */
body main > [data-shared-banner]{box-sizing:border-box;height:var(--reference-banner-height,auto);min-height:var(--reference-banner-height,0);aspect-ratio:auto}
body main > .hero[data-shared-banner]{min-height:var(--reference-banner-height,690px)}
body main > .hero[data-shared-banner] .hero-copy{min-height:0;padding-top:2rem;padding-bottom:2rem}
body main > .hero[data-shared-banner] .hero-art{min-height:0;height:100%}
body main > .hero[data-shared-banner] h1{font-size:clamp(2.5rem,4vw,4rem)}
body main > .work-hero[data-shared-banner]{background-size:cover}
body main > .events-lead[data-shared-banner]{background-size:cover,cover}
body[data-section="glossary"] main > .glossary-lead[data-shared-banner]{background-size:contain;background-position:left center;padding-top:2rem;padding-bottom:2rem}
body main > .territory-brand-banner[data-shared-banner]{align-items:center}
@media(max-width:600px){
 body main > .hero[data-shared-banner] .hero-copy{height:100%}
 body main > .hero[data-shared-banner] .hero-art{display:none}
 body main > .hero[data-shared-banner] h1{font-size:clamp(2.15rem,8vw,2.65rem)}
}

/* the-territory/territory.css */
.terr-page { --paper: #ffffff;
  --ground: #e8ecf2;
  --warm: #fff3e6;
  --ink: #24303b;
  --muted: #526475;
  --navy: #465c70;
  --magenta: #c04f88;
  --teal: #1f7f9b;
  --aqua: #aae3e8;
  --band: #465c70;
  --on-band: #ffffff;
  --on-band-soft: #d5e2ea;
  --rule: #d6dee6;
  --frame: #eef1f5;
  --display: "Bricolage", "Avenir Next", "Segoe UI", Arial, sans-serif;
  --body: "Bricolage", "Avenir Next", "Segoe UI", Arial, sans-serif;
  color-scheme: light; }
.terr-page * { box-sizing: border-box; }
.terr-page { scroll-behavior: smooth; }
.terr-page { background: var(--paper); color: var(--ink); font-family: var(--body); font-size: 17.5px; line-height: 1.7; }
.terr-page a { color: inherit; text-underline-offset: 4px; }
.terr-page a:focus-visible, .terr-page button:focus-visible { outline: 3px solid var(--magenta); outline-offset: 4px; border-radius: 4px; }
.terr-page h1, .terr-page h2, .terr-page h3 { font-family: var(--display); font-weight: 600; letter-spacing: -0.035em; text-wrap: balance; margin: 0; }
.terr-page h1 { font-size: clamp(2.6rem, 6vw, 4.6rem); line-height: 1.02; }
.terr-page h2 { font-size: clamp(1.9rem, 3.6vw, 3rem); line-height: 1.1; }
.terr-page h3 { font-size: 1.3rem; line-height: 1.25; letter-spacing: -0.02em; }
.terr-page p { margin: 0; }
.terr-page .tt-wrap { max-width: 1180px; margin: 0 auto; padding-inline: 20px; }
.terr-page .tt-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--teal); }
.terr-page .tt-draft { background: var(--navy); color: var(--paper); text-align: center; font-size: 11px; letter-spacing: 0.15em; padding: 6px 16px; text-transform: uppercase; }
.terr-page .terr-bar { border-bottom: 1px solid var(--rule); }
.terr-page .terr-bar .tt-wrap { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding-block: 18px; }
.terr-page .tt-brand { display: flex; align-items: center; color: var(--ink); text-decoration: none; }
.terr-page .tt-brand svg { width: 150px; height: auto; display: block; }
.terr-page .terr-bar .tt-sections { display: flex; gap: 6px 22px; flex-wrap: wrap; font-size: 14px; font-weight: 600; }
.terr-page .terr-bar .tt-sections a { text-decoration: none; padding: 4px 0; border-bottom: 2px solid transparent; }
.terr-page .terr-bar .tt-sections a:hover { border-color: var(--magenta); }
.terr-page section { padding-block: 84px; }
.terr-page .tt-hero { padding-block: 64px 80px; }
.terr-page .tt-hero .tt-wrap { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 56px; align-items: center; }
.terr-page .tt-hero-text { display: flex; flex-direction: column; gap: 22px; min-width: 0; }
.terr-page .tt-hero h1 em { font-style: normal; color: var(--magenta); }
.terr-page .tt-lead { font-size: 1.25rem; line-height: 1.55; max-width: 36ch; }
.terr-page .tt-sublead { color: var(--muted); max-width: 46ch; }
.terr-page .tt-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.terr-page .tt-btn { display: inline-block; border-radius: 40px; padding: 13px 24px; font-weight: 600; font-size: 15px; text-decoration: none; background: var(--navy); color: var(--paper); }
.terr-page .tt-btn.tt-alt { background: var(--aqua); color: var(--ink); }
.terr-page .tt-credit { font-size: 14px; color: var(--muted); }
.terr-page figure { margin: 0; min-width: 0; }
.terr-page .tt-shot { background: var(--frame); border-radius: 22px; overflow: hidden; border: 1px solid var(--rule); }
.terr-page .tt-shot img { display: block; width: 100%; height: auto; }
.terr-page figcaption { font-size: 13.5px; line-height: 1.5; color: var(--muted); margin-top: 12px; }
.terr-page .tt-how { background: var(--ground); }
.terr-page .tt-how .tt-wrap { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 56px; align-items: center; }
.terr-page .tt-how-text { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
.terr-page .tt-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 22px; }
.terr-page .tt-steps li { display: grid; grid-template-columns: 2.2rem minmax(0, 1fr); gap: 10px; }
.terr-page .tt-steps .tt-n { color: var(--magenta); font-weight: 700; font-size: 1.1rem; font-variant-numeric: tabular-nums; }
.terr-page .tt-steps h3 { margin-bottom: 4px; }
.terr-page .tt-approach .tt-head { display: flex; flex-direction: column; gap: 14px; max-width: 760px; }
.terr-page .tt-approach .tt-head p { color: var(--muted); font-size: 1.1rem; }
.terr-page .tt-task { border-left: 3px solid var(--magenta); padding: 2px 0 2px 16px; max-width: 46ch; }
.terr-page .tt-task strong { font-weight: 600; }
.terr-page .tt-three { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin-top: 44px; }
.terr-page .tt-three article { border-top: 2px solid var(--teal); padding-top: 14px; display: flex; flex-direction: column; gap: 8px; }
.terr-page .tt-three article:nth-child(1) { border-color: var(--magenta); }
.terr-page .tt-three article:nth-child(3) { border-color: var(--navy); }
.terr-page .tt-three p { font-size: 16.5px; }
.terr-page .tt-case { background: var(--band); color: var(--on-band); }
.terr-page .tt-case .tt-eyebrow { color: var(--aqua); }
.terr-page .tt-case .tt-wrap { display: flex; flex-direction: column; gap: 36px; }
.terr-page .tt-case .tt-head { display: flex; flex-direction: column; gap: 14px; max-width: 820px; }
.terr-page .tt-case .tt-byline { margin: 0; color: var(--on-band-soft); font-size: 15px; max-width: 720px; }
.terr-page .tt-case-more { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 48px; border-top: 1px solid rgba(255,255,255,0.22); padding-top: 26px; }
.terr-page .tt-case-more > div { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.terr-page .tt-case-more h3 { color: var(--on-band); font-size: 1.05rem; }
.terr-page .tt-case-more h3.tt-apart { margin-top: 12px; }
.terr-page .tt-case-more .tt-table-scroll { overflow-x: auto; }
.terr-page .tt-case-more table { width: 100%; border-collapse: collapse; font-size: 15px; color: var(--on-band-soft); }
.terr-page .tt-case-more th { text-align: left; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--aqua); font-weight: 700; padding: 0 12px 8px 0; }
.terr-page .tt-case-more td { vertical-align: top; padding: 9px 12px 9px 0; border-top: 1px solid rgba(255,255,255,0.16); text-align: left; }
.terr-page .tt-case-more td:first-child { color: var(--on-band); font-weight: 600; width: 42%; }
.terr-page .tt-case-more ul.tt-plain { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 6px; color: var(--on-band-soft); }
.terr-page .tt-case-more p.tt-small { margin: 0; font-size: 14px; color: var(--on-band-soft); }
@media (max-width: 900px) {
.terr-page .tt-case-more { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
.terr-page .tt-facts { display: flex; flex-wrap: wrap; gap: 10px 36px; font-variant-numeric: tabular-nums; border-block: 1px solid rgba(255,255,255,0.22); padding-block: 16px; }
.terr-page .tt-facts div { display: flex; flex-direction: column; }
.terr-page .tt-facts strong { font-size: 1.9rem; font-weight: 600; letter-spacing: -0.03em; line-height: 1.1; }
.terr-page .tt-facts span { font-size: 13px; color: var(--on-band-soft); }
.terr-page .tt-case-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.terr-page .tt-case-grid > div { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.terr-page .tt-case-grid p { color: var(--on-band-soft); }
.terr-page .tt-case-grid p strong { color: var(--on-band); font-weight: 600; }
.terr-page .tt-finding { background: rgba(255,255,255,0.07); border-left: 3px solid var(--magenta); border-radius: 0 16px 16px 0; padding: 22px 24px; display: flex; flex-direction: column; gap: 10px; }
.terr-page .tt-finding h3 { color: var(--on-band); }
.terr-page .tt-case-grid > div:first-child { padding-top: 22px; }
@media (max-width: 900px) {
.terr-page .tt-case-grid > div:first-child { padding-top: 0; }
}
.terr-page .tt-case a.tt-more { color: var(--on-band); font-weight: 600; }
.terr-page .tt-note { font-size: 14px; color: var(--on-band-soft); }
.terr-page .tt-since { background: var(--warm); }
.terr-page .tt-since .tt-wrap { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 56px; align-items: start; }
.terr-page .tt-since .tt-head { display: flex; flex-direction: column; gap: 14px; }
.terr-page .tt-since .tt-head p { color: var(--muted); }
.terr-page .tt-changes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 26px 36px; }
.terr-page .tt-changes li { border-top: 1px solid var(--rule); padding-top: 12px; display: flex; flex-direction: column; gap: 4px; }
.terr-page .tt-changes li strong { font-weight: 600; }
.terr-page .tt-changes li span { color: var(--muted); font-size: 16px; }
.terr-page .tt-people .tt-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; }
.terr-page .tt-people .tt-col { display: flex; flex-direction: column; gap: 22px; min-width: 0; }
.terr-page .tt-founder { border-top: 2px solid var(--magenta); padding-top: 14px; display: flex; flex-direction: column; gap: 6px; }
.terr-page .tt-founder .tt-role { color: var(--muted); font-size: 15px; }
.terr-page .tt-host-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.terr-page .tt-host-list li { display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1fr); gap: 16px; border-top: 1px solid var(--rule); padding-top: 12px; font-size: 16px; }
.terr-page .tt-host-list li strong { font-weight: 600; }
@media (max-width: 900px) {
.terr-page .tt-hero .tt-wrap, .terr-page .tt-how .tt-wrap, .terr-page .tt-since .tt-wrap, .terr-page .tt-people .tt-wrap, .terr-page .tt-case-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
.terr-page .tt-three { grid-template-columns: minmax(0, 1fr); gap: 28px; }
.terr-page section { padding-block: 60px; }
}
@media (max-width: 560px) {
.terr-page .tt-changes { grid-template-columns: minmax(0, 1fr); }
.terr-page .tt-host-list li { grid-template-columns: minmax(0, 1fr); gap: 4px; }
.terr-page .tt-brand svg { width: 124px; }
.terr-page { font-size: 16.5px; }
}
@media (prefers-reduced-motion: reduce) {
.terr-page { scroll-behavior: auto; }
}
.terr-page .tt-beta { background: var(--ground); }
.terr-page .tt-beta .tt-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.terr-page .tt-beta .tt-col { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.terr-page .tt-beta ul { margin: 0; padding-left: 1.2em; display: flex; flex-direction: column; gap: 8px; }
.terr-page .tt-beta .tt-contact { border-left: 3px solid var(--magenta); padding: 4px 0 4px 16px; }
.terr-page .tt-beta .tt-contact strong { font-weight: 600; }
.terr-page .tt-contact a { color: var(--magenta); font-weight: 600; }
.terr-page .tt-limits { margin-top: 44px; border-top: 1px solid var(--rule); padding-top: 22px; display: flex; flex-direction: column; gap: 12px; }
.terr-page .tt-limits ul { margin: 0; padding-left: 1.2em; display: flex; flex-direction: column; gap: 6px; color: var(--muted); font-size: 16px; }
.terr-page .tt-origin { background: var(--warm); }
.terr-page .tt-origin .tt-wrap { display: block; }
.terr-page .tt-origin .tt-story { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.terr-page .tt-origin .tt-story h3 { margin-top: 14px; }
.terr-page .tt-origin .tt-story strong { font-weight: 600; }
.terr-page .tt-origin .tt-sign { color: var(--muted); font-size: 15px; }
.terr-page .tt-ethic { background: var(--paper); border: 2px solid var(--magenta); border-radius: 0; padding: 26px 30px; display: flex; flex-direction: column; gap: 18px; margin-top: 14px; }
.terr-page .tt-origin .tt-story .tt-ethic h3 { margin-top: 0; color: var(--magenta); font-size: 1.5rem; }
@media (max-width: 640px) {
.terr-page .tt-ethic { padding: 20px 18px; }
}
.terr-page .tt-timeline { list-style: none; margin: 0; padding: 0 0 0 18px; border-left: 2px solid var(--teal); display: flex; flex-direction: column; gap: 20px; }
.terr-page .tt-timeline li { position: relative; display: flex; flex-direction: column; gap: 2px; font-size: 16px; }
.terr-page .tt-timeline li::before { content: ""; position: absolute; left: -25px; top: 7px; width: 12px; height: 12px; border-radius: 50%; background: var(--paper); border: 2px solid var(--magenta); }
.terr-page .tt-timeline time { font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--teal); font-variant-numeric: tabular-nums; }
.terr-page .tt-tl { display: grid; grid-template-columns: 1fr 1fr 1.15fr 1fr 1.6fr; column-gap: 22px; row-gap: 8px; margin: 10px 0 14px; }
.terr-page .tt-tl .tt-timeline { display: contents; }
.terr-page .tt-tl .tt-timeline li { grid-row: 1; padding: 22px 0 14px; border-top: 2px solid var(--teal); border-left: 0; }
.terr-page .tt-tl .tt-timeline li::before { left: 0; top: -8px; }
.terr-page .tt-tl .tt-timeline li.tt-c1 { grid-column: 1; }
.terr-page .tt-tl .tt-timeline li.tt-c2 { grid-column: 2; }
.terr-page .tt-tl .tt-timeline li.tt-c3 { grid-column: 3; }
.terr-page .tt-tl .tt-timeline li.tt-c4 { grid-column: 4; }
.terr-page .tt-tl .tt-timeline li.tt-c5 { grid-column: 5; }
.terr-page .tt-tl .tt-timeline li span { font-size: 15px; line-height: 1.45; text-align: left; }
@media (max-width: 900px) {
.terr-page .tt-tl .tt-timeline li span { text-align: justify; }
}
.terr-page .tt-tl .tt-lane { border-radius: 15px; padding: 6px 14px; text-align: center; }
.terr-page .tt-tl .tt-lane span { font-size: 12px; font-weight: 700; letter-spacing: 0.06em; line-height: 1.3; }
.terr-page .tt-tl .tt-ar-head { grid-row: 2; grid-column: 1 / 6; font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--teal); margin-top: 6px; }
.terr-page .tt-tl .tt-ar { grid-row: 3; border-radius: 6px; padding: 10px 14px; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left; position: relative; }
.terr-page .tt-tl .tt-ar span { font-size: 14px; letter-spacing: 0.01em; }
.terr-page .tt-tl .tt-ar small { font-size: 12px; font-weight: 600; opacity: 0.9; }
.terr-page .tt-tl .tt-clients small, .terr-page .tt-tl .tt-network small { display: inline; font-size: 12px; font-weight: 600; opacity: 0.9; white-space: nowrap; }
.terr-page .tt-tl .tt-clients small::before, .terr-page .tt-tl .tt-network small::before { content: " · "; }
.terr-page .tt-tl .tt-ar, .terr-page .tt-tl .tt-clients, .terr-page .tt-tl .tt-network { min-height: 76px; justify-content: center; }
.terr-page .tt-tl .tt-clients, .terr-page .tt-tl .tt-network { display: flex; align-items: center; align-self: stretch; padding-top: 12px; padding-bottom: 12px; }
.terr-page .tt-tl .tt-clients > span, .terr-page .tt-tl .tt-network > span { display: inline; }
.terr-page .tt-tl .tt-clients > div, .terr-page .tt-tl .tt-network > div { display: block; line-height: 1.3; }
.terr-page .tt-tl .tt-clients > div > span, .terr-page .tt-tl .tt-network > div > span { font-size: 13.5px; line-height: 1.3; }
.terr-page .tt-tl .tt-ar1 { grid-column: 1 / 4; background: var(--aqua); color: #24303b; border-radius: 6px 0 0 6px; margin-right: -22px; }
.terr-page .tt-tl .tt-ar2 { grid-column: 4 / 5; background: #67A9A3; color: #ffffff; border-radius: 0; margin-right: -22px; padding-left: 36px; }
.terr-page .tt-tl .tt-ar1 { padding-right: 36px; }
.terr-page .tt-tl .tt-ar3 { grid-column: 5 / 6; background: #2288A6; color: #ffffff; border-radius: 0; margin-right: 18px; padding-left: 36px; }
.terr-page .tt-tl .tt-ar3::after { content: ""; position: absolute; right: -18px; top: 0; bottom: 0; width: 18px; background: #2288A6; clip-path: polygon(0 0, 100% 50%, 0 100%); }
.terr-page .tt-tl .tt-clients, .terr-page .tt-tl .tt-network { grid-row: 4; margin-top: 4px; padding: 10px 14px; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left; position: relative; }
.terr-page .tt-tl .tt-clients span, .terr-page .tt-tl .tt-network span { font-size: 14px; letter-spacing: 0.01em; }
.terr-page .tt-tl .tt-clients { grid-column: 3 / 5; background: var(--magenta); color: #ffffff; border-radius: 6px 0 0 6px; margin-right: -22px; padding-right: 36px; }
.terr-page .tt-tl .tt-network { grid-column: 5 / 6; background: #FFC37B; color: #24303b; border-radius: 0; margin-right: 18px; padding-left: 36px; }
.terr-page .tt-tl .tt-network::after { content: ""; position: absolute; right: -18px; top: 0; bottom: 0; width: 18px; background: #FFC37B; clip-path: polygon(0 0, 100% 50%, 0 100%); }
@media (max-width: 900px) {
.terr-page .tt-tl { grid-template-columns: minmax(0, 1fr); }
.terr-page .tt-tl .tt-timeline li, .terr-page .tt-tl .tt-timeline li.tt-c1, .terr-page .tt-tl .tt-timeline li.tt-c2, .terr-page .tt-tl .tt-timeline li.tt-c3, .terr-page .tt-tl .tt-timeline li.tt-c4, .terr-page .tt-tl .tt-timeline li.tt-c5 { grid-column: 1; grid-row: auto; border-top: 0; border-left: 2px solid var(--teal); padding: 0 0 18px 18px; }
.terr-page .tt-tl .tt-timeline li::before { left: -9px; top: 7px; }
.terr-page .tt-tl .tt-ar-head, .terr-page .tt-tl .tt-ar, .terr-page .tt-tl .tt-clients, .terr-page .tt-tl .tt-network { grid-column: 1; grid-row: auto; }
.terr-page .tt-tl .tt-ar1, .terr-page .tt-tl .tt-ar2, .terr-page .tt-tl .tt-ar3, .terr-page .tt-tl .tt-clients, .terr-page .tt-tl .tt-network { margin-right: 18px; padding-left: 14px; border-radius: 6px 0 0 6px; }
}
.terr-page .tt-changes li.tt-group { grid-column: 1 / -1; border-top: none; padding-top: 14px; }
.terr-page .tt-changes li.tt-group:first-child { padding-top: 0; }
.terr-page .tt-changes li.tt-group h3 { color: var(--teal); font-size: 1.05rem; letter-spacing: 0.02em; }
.terr-page p, .terr-page li, .terr-page li span, .terr-page figcaption, .terr-page .tt-timeline span, .terr-page .tt-tl .tt-timeline li span { text-align: justify; hyphens: auto; -webkit-hyphens: auto; }
.terr-page .tt-case-grid, .terr-page .tt-beta .tt-wrap, .terr-page .tt-people .tt-wrap { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; }
.terr-page .tt-case-grid > div, .terr-page .tt-beta .tt-col, .terr-page .tt-people .tt-col { height: 100%; }
.terr-page .tt-three { align-items: stretch; }
.terr-page .tt-three article { height: 100%; }
.terr-page .tt-changes { align-items: stretch; }
.terr-page .tt-beta h3.tt-level { font-size: clamp(1.9rem, 3.6vw, 3rem); line-height: 1.1; letter-spacing: -0.035em; }
@media (max-width: 900px) {
.terr-page .tt-case-grid, .terr-page .tt-beta .tt-wrap, .terr-page .tt-people .tt-wrap { grid-template-columns: minmax(0, 1fr); }
.terr-page .tt-case-grid > div, .terr-page .tt-beta .tt-col, .terr-page .tt-people .tt-col { height: auto; }
}
.terr-page .tt-since .tt-wrap { grid-template-columns: minmax(0, 1fr); gap: 32px; }
.terr-page .tt-since .tt-head { max-width: 760px; }
.terr-page .tt-changes { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 56px; }
.terr-page .tt-host-list li strong { text-align: left; hyphens: manual; }
.terr-page p, .terr-page li span { text-wrap: pretty; }
.terr-page .tt-staff { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; border-top: 1px solid rgba(255,255,255,0.22); padding-top: 22px; }
.terr-page .tt-staff h3 { color: var(--on-band); font-size: 1.05rem; margin-bottom: 10px; }
.terr-page .tt-staff ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; color: var(--on-band-soft); font-size: 16px; }
.terr-page .tt-staff li { text-align: left; }
.terr-page .tt-staff strong { color: var(--on-band); font-weight: 600; }
.terr-page .tt-staff h3.tt-apart { margin-top: 24px; }
@media (max-width: 700px) {
.terr-page .tt-staff { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
.terr-page .tt-origin sup { font-size: 0.7em; line-height: 0; }
.terr-page .tt-origin sup a { color: var(--magenta); text-decoration: none; font-weight: 600; padding: 0 1px; }
.terr-page .tt-footnotes { margin: 8px 0 0; padding: 16px 0 0 1.2em; border-top: 1px solid var(--rule); display: flex; flex-direction: column; gap: 8px; font-size: 14px; line-height: 1.55; color: var(--muted); }
.terr-page .tt-footnotes a { color: var(--magenta); text-decoration: none; }
.terr-page .tt-case-task { background: #C03772; color: #FFFFFF; border-radius: 0; padding: 22px 28px; }
.terr-page .tt-case-task p { font-size: 1.15rem; line-height: 1.55; color: #FFFFFF; }
.terr-page .tt-case-task strong { color: #FFFFFF; font-weight: 700; }
.terr-page p:not(.tt-credit):not(.tt-sign):not(.tt-note), .terr-page .tt-steps p, .terr-page .tt-three p, .terr-page .tt-changes li span, .terr-page .tt-host-list li span, .terr-page .tt-timeline span, .terr-page .tt-beta li, .terr-page .tt-limits li { text-align: justify; hyphens: auto; -webkit-hyphens: auto; }
@media (max-width: 900px) {
.terr-page .tt-origin .tt-wrap { grid-template-columns: minmax(0, 1fr); gap: 36px; }
}
@media (max-width: 900px) {
.terr-page .tt-beta .tt-wrap { grid-template-columns: minmax(0, 1fr); gap: 36px; }
}
.terr-page .terr-bar { position: sticky; top: 0; z-index: 5; background: var(--paper); }
html[lang="zh-Hans"] .terr-page p, html[lang="zh-Hans"] .terr-page li, html[lang="zh-Hans"] .terr-page li span, html[lang="zh-Hans"] .terr-page figcaption, html[lang="zh-Hans"] .terr-page span { text-align: left !important; hyphens: manual !important; }

.terr-page .tt-room { margin: 44px auto 0; max-width: 560px; }
.terr-page .tt-inquiry { background: var(--paper); border-top: 1px solid var(--rule); }
.terr-page .tt-inquiry .tt-wrap { display: flex; flex-direction: column; gap: 22px; }
.terr-page .tt-inquiry .tt-head { display: flex; flex-direction: column; gap: 14px; max-width: 760px; }
.terr-page .tt-inquiry .tt-head p { color: var(--muted); font-size: 1.1rem; }
.terr-page .tt-questions { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 36px; }
.terr-page .tt-questions li { border-left: 3px solid var(--magenta); padding: 2px 0 2px 14px; font-family: var(--display); font-weight: 600; font-size: 1.15rem; line-height: 1.35; text-align: left; }
.terr-page .tt-uncertain { max-width: 820px; color: var(--ink); }
.terr-page .tt-inquiry h3.tt-sub { color: var(--teal); font-size: 1.05rem; margin-top: 18px; }
.terr-page .tt-inquiry .tt-three { margin-top: 0; }
.terr-page .tt-depend { background: var(--warm); border-left: 3px solid var(--teal); padding: 18px 22px; display: flex; flex-direction: column; gap: 8px; max-width: 820px; }
.terr-page .tt-close { background: var(--band); color: var(--on-band); }
.terr-page .tt-close .tt-wrap { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.terr-page .tt-close .tt-eyebrow { color: var(--aqua); }
.terr-page .tt-close p { color: var(--on-band-soft); max-width: 60ch; }
.terr-page .tt-close .tt-btn { background: var(--paper); color: var(--ink); }
.terr-page .tt-close .tt-btn.tt-alt { background: var(--aqua); }
.terr-page .tt-founder a { color: var(--magenta); font-weight: 600; text-decoration: none; }
@media (max-width: 700px) { .terr-page .tt-questions { grid-template-columns: minmax(0, 1fr); } }

/* Match the shared site design without altering the Territory content. */
body[data-section="the-territory"] header.site-header{background:#29243f}
body[data-section="the-territory"] header.site-header .language-switcher .language-switch{color:#aae3e8}
body[data-section="the-territory"] header.site-header .language-switcher .language-switch.active{color:#fff}
nav.territory-section-nav{display:block;position:sticky;top:0;left:auto;right:auto;z-index:5;margin:0;padding:0;background:#e8ecf2;border:0;border-bottom:1px solid #9eb9c0;box-shadow:none;max-height:none;font-family:var(--sans)}
nav.territory-section-nav .tt-sections{display:flex;align-items:stretch;justify-content:center;gap:0;max-width:1440px;margin:0 auto;padding:0 clamp(1.4rem,8vw,10rem);overflow-x:auto}
nav.territory-section-nav a,nav.territory-section-nav a:last-child{flex:0 0 auto;display:flex;align-items:center;justify-content:center;min-height:48px;margin:0;padding:.75rem 1rem;border:0;border-right:1px solid #9eb9c0;border-radius:0;background:transparent;color:#29243f;font-size:.875rem;font-weight:600;line-height:1.3;white-space:nowrap;text-decoration:none}
nav.territory-section-nav a:first-child{border-left:1px solid #9eb9c0}
nav.territory-section-nav a:hover,nav.territory-section-nav a:last-child:hover{background:#aae3e8;color:#29243f;text-decoration:underline;text-underline-offset:4px}
nav.territory-section-nav a:focus-visible{outline:3px solid #c03772;outline-offset:-4px;background:#aae3e8}
.terr-page{--ink:#29243f;--muted:#535e67;--magenta:#c03772;--teal:#2288a6;--warm:#faf8f7;--rule:#c7d4d2;--display:var(--serif);--body:var(--sans);font-size:1.05rem;line-height:1.7}
.terr-page h1,.terr-page h2{font-weight:500;letter-spacing:-.045em;line-height:1.22}
.terr-page h3{font-weight:700;letter-spacing:-.045em}
.terr-page h1{font-size:clamp(2.9rem,5vw,5.9rem)}
.terr-page h2{font-size:clamp(2rem,3vw,3.5rem)}
.terr-page .tt-wrap{max-width:1440px;padding-inline:clamp(1.4rem,8vw,10rem)}
.terr-page section{padding-block:clamp(4.5rem,8vw,8rem)}
.terr-page .tt-btn{border-radius:0;padding:.85rem 1.45rem;font-family:var(--sans);font-size:.9rem;font-weight:600}
.terr-page .tt-shot,.terr-page .tt-finding,.terr-page .tt-tl .tt-lane,.terr-page .tt-tl .tt-ar,.terr-page .tt-tl .tt-clients,.terr-page .tt-tl .tt-network{border-radius:0}
.terr-page a:focus-visible,.terr-page button:focus-visible{border-radius:0}
.terr-page section[id]{scroll-margin-top:72px}
@media(max-width:1150px){nav.territory-section-nav .tt-sections{justify-content:flex-start;padding-inline:6vw}}
@media(max-width:820px){.terr-page .tt-wrap{padding-inline:6vw}.terr-page h1{font-size:clamp(2.25rem,9vw,3.35rem)}.terr-page h2{font-size:clamp(1.9rem,6vw,2.5rem)}}

/* Keep the section bar visible and distinguish it from scrolling content. */
nav.territory-section-nav.is-floating{box-shadow:0 6px 16px #29243f26;border-bottom-color:#9eb9c0}
.territory-nav-marker{height:1px;margin-bottom:-1px;pointer-events:none}

/* Compact, accessible section dropdown. */
.territory-section-picker{display:flex;align-items:center;gap:1rem;max-width:1440px;margin:0 auto;padding:.65rem clamp(1.4rem,8vw,10rem)}
.territory-section-picker label{font-size:.875rem;font-weight:600;color:#29243f;white-space:nowrap}
.territory-section-picker select{min-height:44px;min-width:220px;max-width:100%;padding:.6rem 2rem .6rem .85rem;border:1px solid #9eb9c0;border-radius:0;background:#fff;color:#29243f;font-family:var(--sans);font-size:1rem;cursor:pointer}
.territory-section-picker select:focus-visible{outline:3px solid #c03772;outline-offset:2px}
@media(max-width:820px){.territory-section-picker{padding-inline:6vw;flex-wrap:wrap;gap:.4rem}.territory-section-picker select{flex:1 1 220px;min-width:0}}

/* territory-menu.css */
/* Section dropdown opened from the main navigation item. */
header.site-header nav a[data-territory-trigger]::after{content:' ▾';margin-left:.4em;font-size:.75em}
.territory-nav-dropdown{position:fixed;z-index:100;min-width:240px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;background:#fff;border:1px solid #9eb9c0;box-shadow:0 8px 24px #29243f26;padding:.4rem 0;font-family:var(--sans)}
.territory-nav-dropdown[hidden]{display:none}
.territory-nav-dropdown a{display:block;padding:.7rem 1rem;color:#29243f;text-decoration:none;font-size:.95rem;line-height:1.4;font-weight:600;border-bottom:1px solid #e8ecf2}
.territory-nav-dropdown a:last-child{border-bottom:0}
.territory-nav-dropdown a:hover,.territory-nav-dropdown a:focus-visible{background:#aae3e8;color:#29243f}
.territory-nav-dropdown a:focus-visible{outline:3px solid #c03772;outline-offset:-3px}

@media(max-width:600px){:root{--asset-734a23b909:url('/optimised/about-real-mobile.webp');--asset-eb7b716892:url('/optimised/events-spiral-clean-mobile.webp');--asset-9a92b112d2:url('/optimised/fuchsia-geometry-clean-mobile.webp');--asset-50f326b69a:url('/optimised/group-dialogue-mobile.webp');--asset-e20db94654:url('/optimised/hero-light-mobile.webp');--asset-9c293796c8:url('/optimised/hero-mobile.webp');--asset-ba96da1b5a:url('/optimised/logo-charcoal-transparent-mobile.webp');--asset-78e632facc:url('/optimised/logo-turquoise-transparent-mobile.webp');--asset-bbab1f7fef:url('/optimised/new-york-living-together-2027-mobile.webp');--asset-7d448e7e99:url('/optimised/pink-geometry-white-mobile.webp');--asset-fad263ca88:url('/optimised/plum-geometry-clean-mobile.webp');--asset-5d6bece3fd:url('/optimised/projects-hummingbird-palette-mobile.webp');--asset-4d42a7a30f:url('/optimised/shenzhen-2027-cassgo-art-mobile.webp');--asset-43d0ef4a97:url('/optimised/shenzhen-2027-flyer-mobile.webp');--asset-33e182205e:url('/optimised/socioanalysis-background-mobile.webp');--asset-52ce639fde:url('/optimised/territory-brand-magenta-mobile.webp');--asset-5ef8d4e403:url('/optimised/territory-plan-mobile.webp');--asset-3faf7741eb:url('/optimised/therapy-turquoise-geometry-mobile.webp');--asset-09fb4a28f8:url('/optimised/turquoise-geometry-clean-mobile.webp');--asset-2652a72b85:url('/optimised/work-banner-blue-line-mobile.webp');}}

.banner-reference-measure,.banner-reference-measure *{background-image:none!important;mask-image:none!important;-webkit-mask-image:none!important}
