/* TerraNava.org identity draft. Functional/data classification colors stay intact. */
@font-face{font-family:TN Sans;src:url('/assets/fonts/source-sans-3-latin.woff2') format('woff2');font-weight:200 900;font-display:swap}
:root{--brand-ink:#17191b;--brand-muted:#52595f;--brand-paper:#fafafa;--brand-panel:#fff;--brand-line:#d9dde0;--brand-accent:#245b60;--brand-focus:#855000}
:root[data-theme=dark]{--brand-ink:#f5f5f5;--brand-muted:#c2c6ca;--brand-paper:#151719;--brand-panel:#1c1f22;--brand-line:#454b50;--brand-accent:#a2d6d2;--brand-focus:#f1ce88}
.tn13-header,.tn13-footer,.tn13-menu{background:var(--brand-panel);color:var(--brand-ink)}
.tn13-header,.tn13-footer{border-color:var(--brand-line)}
.tn13-brand{display:inline-flex!important;flex:0 1 auto;min-width:0;max-width:100%;line-height:1;text-decoration:none!important;color:var(--brand-ink)!important;gap:0!important}
.tn13-brand img{display:block;width:196px!important;height:auto!important;max-width:100%;object-fit:contain;flex:none}
.tn13-brand .tn-brand-white{display:none}
:root[data-theme=dark] .tn13-brand .tn-brand-black{display:none}
:root[data-theme=dark] .tn13-brand .tn-brand-white{display:block}
.tn13-header-inner{gap:20px}
.tn13-nav a,.tn13-language a,.tn13-language span{color:var(--brand-ink)}
.tn13-menu-head .tn13-brand img{width:204px!important}
.tn13-footer>.tn18-footer-brand{margin:0 0 14px;min-height:44px}
.tn13-footer>.tn18-footer-brand img{width:190px!important}
.tn13-footer p{color:var(--brand-muted)}
.tn18-legacy-brand{flex-direction:column;align-items:flex-start;gap:3px!important;font-family:TN Sans,system-ui,sans-serif;font-style:normal}
.tn18-brand-context{color:var(--brand-muted);font:12px/1.35 TN Sans,system-ui,sans-serif;max-width:32ch;white-space:normal}
.site-footer .tn18-footer-brand{margin-bottom:16px}
.site-header,.site-footer{font-family:TN Sans,system-ui,sans-serif}
.site-header,.site-footer{background:var(--brand-panel)!important;color:var(--brand-ink)!important;border-color:var(--brand-line)!important}
.site-footer p,.site-footer a{color:var(--brand-muted)!important}
.site-header .tn13-brand,.site-footer .tn13-brand{color:var(--brand-ink)!important}
.tn18-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.tn13-page{--tn-paper:var(--brand-paper);--tn-panel:var(--brand-panel);--tn-ink:var(--brand-ink);--tn-muted:var(--brand-muted);--tn-line:var(--brand-line);--tn-accent:var(--brand-accent);--tn-focus:var(--brand-focus)}
.tn13-page :is(button,input,select,textarea){font-family:TN Sans,system-ui,sans-serif}
.tn13-page .tn13-action{border-radius:4px;min-height:44px;line-height:1.4}
.tn13-page :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border-color:var(--brand-muted)}
.tn13-page main :is(p,li){line-height:1.65}
.tn13-page main :is(h1,h2,h3){text-wrap:balance}
/* Scope neutral tokens to shared chrome, never globally recolor hydrological maps. */
.tn14-algorithm-shell>.tn13-header,.tn14-algorithm-shell>.tn13-footer,.tn14-algorithm-shell>.tn13-menu,.tn14-product-nav{--tn14-paper:var(--brand-paper);--tn14-panel:var(--brand-panel);--tn14-ink:var(--brand-ink);--tn14-muted:var(--brand-muted);--tn14-line:var(--brand-line);--tn14-accent:var(--brand-accent);--tn14-focus:var(--brand-focus)}
@media(max-width:600px){.tn13-header-inner{gap:8px}.tn13-header .tn13-brand img{width:168px!important}.tn13-header .tn13-language{margin-left:0}.tn13-menu-head .tn13-brand img{width:180px!important}.tn13-menu{padding:18px}.tn13-footer>.tn18-footer-brand img{width:180px!important}}
@media(max-width:350px){.tn13-header .tn13-brand img{width:142px!important}.tn13-header-inner{padding-inline:10px;gap:5px}.tn13-header .tn13-language a,.tn13-header .tn13-language span{padding-inline:4px}.tn13-menu-head .tn13-brand img{width:160px!important}}
@media(prefers-reduced-motion:reduce){.tn13-header *,.tn13-menu *,.tn13-footer *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.tn13-header,.tn13-footer,.tn13-menu{display:none!important}}

/* Shared navigation and editorial rhythm, independent of legacy page styles. */
body.tn13-page{margin:0!important;padding:0!important;width:100%!important;max-width:none!important;background:#fff!important;color:var(--brand-ink);font-family:TN Sans,system-ui,sans-serif!important;font-size:17px}
.tn13-header{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;position:relative;box-sizing:border-box}
.tn13-header .tn13-header-inner{width:100%!important;max-width:1248px!important;margin:0 auto!important;padding:0 24px!important;min-height:76px!important;box-sizing:border-box;display:flex!important;align-items:center!important;justify-content:space-between!important;font:600 15px/1.3 TN Sans,system-ui,sans-serif!important}
.tn13-header .tn13-nav{gap:20px!important;margin-left:auto!important}
.tn13-header .tn13-nav a,.tn13-header .tn13-language a,.tn13-header .tn13-language span{font:600 15px/1.3 TN Sans,system-ui,sans-serif!important;color:var(--brand-ink)!important;text-decoration:none;border-radius:0!important;letter-spacing:normal!important}
.tn13-header .tn13-nav a[aria-current=page]{color:var(--brand-accent)!important;border-bottom:2px solid var(--brand-accent)}
.tn13-page main{font-family:TN Sans,system-ui,sans-serif!important}
.tn13-page main:not(:has(#toolFrames)) :is(h1,h2,h3){color:var(--brand-ink);font-family:"TN Sans",system-ui,sans-serif!important;font-weight:600!important;letter-spacing:-.025em}
.tn13-page main:not(:has(#toolFrames)) h1:not(.tn18-sr){font-size:clamp(30px,3vw,40px)!important;line-height:1.15!important;margin:0 0 24px!important;max-width:900px}
.tn13-page main:not(:has(#toolFrames)) h2{font-size:clamp(24px,2.2vw,28px)!important;line-height:1.25!important}
.tn13-page main :is(.button,.tn13-action,.btn){border-radius:4px!important;min-height:44px;font:600 16px/1.4 TN Sans,system-ui,sans-serif!important;letter-spacing:normal!important;box-shadow:none!important}
.tn13-page main :is(.button-primary,.btn-primary){background:var(--brand-accent)!important;color:#fff!important;border:1px solid var(--brand-accent)!important}
.tn13-page .tn13-content{max-width:1100px!important;margin-inline:auto!important;padding-inline:24px!important;box-sizing:border-box}
.tn13-page .tn-review{max-width:1100px!important}
.tn13-page.method-editorial main{max-width:1100px!important;margin:0 auto!important;padding:56px 24px 80px!important;box-sizing:border-box;background:#fff!important}
.tn13-page.method-editorial main :is(.shell,.container,.section-inner,.hero-inner){width:100%!important;max-width:100%!important;margin-inline:0!important;padding-inline:0!important;box-sizing:border-box}
.tn13-page.method-editorial main>section{padding:32px 0!important;background:transparent!important;border-bottom:1px solid var(--brand-line)}
.tn13-page.method-editorial main>section:first-child{padding-top:0!important}
.tn13-page.method-editorial main img{max-width:100%;height:auto;object-fit:cover}
.tn13-page.method-editorial main .hero figure{margin:32px 0!important}
.tn13-page.method-editorial main .hero figure img{width:100%;max-height:320px;object-fit:cover}
.tn13-page.method-editorial main table{display:block;max-width:100%;overflow-x:auto}
.tn13-page.method-editorial main :is(p,li,td){overflow-wrap:anywhere}
.tn13-page.method-editorial main .page-title{max-width:900px!important}
.tn13-page.method-editorial main .publications-hero{display:block!important;min-height:0!important}
.tn13-page.method-editorial main .publications-hero :is(.hero-copy,.hero-content){max-width:800px!important}
.tn13-page.method-editorial main .eyebrow,.tn-review .eyebrow{color:var(--brand-muted)!important;font:600 13px/1.5 TN Sans,system-ui,sans-serif!important;letter-spacing:.08em}
@media(max-width:1100px){.tn13-header .tn13-nav{gap:12px!important}.tn13-header .tn13-nav a{font-size:14px!important}.tn13-header .tn13-brand img{width:168px!important}}
@media(max-width:900px){.tn13-header .tn13-nav{display:none!important}.tn13-header .tn13-menu-toggle{display:inline-flex!important}.tn13-header .tn13-header-inner{gap:12px!important;min-height:68px!important}.tn13-header .tn13-language{margin-left:auto!important}}
@media(max-width:600px){.tn13-header .tn13-header-inner{padding-inline:16px!important}.tn13-page.method-editorial main{padding:36px 20px 56px!important}.tn13-page .tn-review{padding-inline:20px!important}.tn13-page.method-editorial main .hero figure img{max-height:220px}}
/* One catalog for desktop and mobile navigation. Native details supports keyboard. */
.tn-tools-menu>summary{cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center;padding:10px 9px;font:600 15px/1.3 "TN Sans",system-ui,sans-serif;color:var(--brand-ink);box-sizing:border-box;white-space:nowrap}
.tn-tools-menu>summary::-webkit-details-marker{display:none}
.tn-tools-menu>summary:focus-visible,.tn-tools-panel a:focus-visible{outline:2px solid var(--brand-focus);outline-offset:2px}
.tn13-header-inner{position:relative}
.tn-tools-panel{position:absolute;z-index:100;top:100%;left:24px;right:24px;padding:24px;background:var(--brand-panel);color:var(--brand-ink);border:1px solid var(--brand-line);box-shadow:0 12px 24px #00000014;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;max-height:calc(100dvh - 100px);overflow:auto}
.tn-tools-menu:not([open])>.tn-tools-panel{display:none}
.tn-tools-panel section{min-width:0}
.tn-tools-panel strong{display:block;margin:0 0 12px;font:600 16px/1.4 "TN Sans",system-ui,sans-serif}
.tn13-header .tn13-nav .tn-tools-panel a,.tn13-menu .tn-tools-panel a{display:block!important;white-space:normal!important;font:400 15px/1.4 "TN Sans",system-ui,sans-serif!important;min-height:44px;padding:10px 0!important;border:0!important;color:var(--brand-ink)!important;text-decoration:none}
.tn-tools-panel a:hover{ text-decoration:underline!important;text-underline-offset:3px}
.tn13-menu .tn-tools-menu{width:100%}
.tn13-menu .tn-tools-panel{position:static;grid-template-columns:1fr;padding:16px;max-height:none;box-shadow:none}
@media(max-width:1100px){.tn-tools-menu>summary{font-size:14px}}

/* Institutional type scale v23: one reading family, unchanged logo and semantic colors. */
@font-face{font-family:TN Mono;src:url('/assets/fonts/jetbrains-mono-latin.woff2') format('woff2');font-weight:100 800;font-display:swap}
:root,body{--font-display:"TN Sans",system-ui,sans-serif;--font-body:"TN Sans",system-ui,sans-serif;--font-sans:"TN Sans",system-ui,sans-serif;--font-serif:"TN Sans",system-ui,sans-serif;--font-ui:"TN Sans",system-ui,sans-serif;--font-mono:"TN Mono",monospace;--serif:"TN Sans",system-ui,sans-serif;--sans:"TN Sans",system-ui,sans-serif}
body{font-family:"TN Sans",system-ui,sans-serif!important}
body :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,th,td,button,input,select,textarea,label,legend,summary,figcaption,blockquote){font-family:"TN Sans",system-ui,sans-serif!important}
body :is(h1,h2,h3,h4,h5,h6){font-weight:600!important;letter-spacing:normal!important;font-style:normal}
body :is(pre,code,kbd,samp),body :is(pre,code,kbd,samp) *{font-family:"TN Mono",ui-monospace,monospace!important}
body :is(td,dd,output){font-variant-numeric:tabular-nums}
.tn13-page main:not(:has(#toolFrames)) :is(h1,h2,h3){letter-spacing:normal!important}
.tn13-page main:not(:has(#toolFrames)) h1:not(.tn18-sr){font-size:clamp(30px,3vw,40px)!important;line-height:1.2!important;margin-bottom:24px!important}
.tn13-page main:not(:has(#toolFrames)) h2{font-size:clamp(24px,2.2vw,28px)!important;line-height:1.3!important}
.tn13-page main:not(:has(#toolFrames)) h3{font-size:20px!important;line-height:1.35!important}
.tn13-page main :is(p,li){line-height:1.6}
.tn13-page .tn13-intro{font-size:18px;line-height:1.65}
.tn13-page main :is(.tn13-tag,.eyebrow,.tn-kicker){font-size:13px!important;text-transform:none!important;letter-spacing:normal!important;font-weight:600!important}
.tn13-page main :is(.publication-card,.note-panel,.fact-block,.principle-block){box-shadow:none!important;border-radius:4px!important}
.tn13-page.method-editorial main{padding-block:48px 64px!important}
@media(max-width:600px){.tn13-page.method-editorial main{padding-block:32px 48px!important}.tn13-page main:not(:has(#toolFrames)) h1:not(.tn18-sr){font-size:30px!important}}

/* Inline editorial labels must not reintroduce legacy serif/system stacks. */
.tn13-page main :is(a,span,strong,b,em,small,time,output):not(pre *):not(code *):not(kbd *):not(samp *){font-family:"TN Sans",system-ui,sans-serif!important}

/* Legacy page rules must not put the skip link into the header's document flow. */
.tn13-skip{position:absolute!important}
.tn13-header .tn13-icon{border-radius:4px!important}
