/* a single readable skin; named places and geometry share the same atlas. */
:root {
 color-scheme:light; --paper:#f5f3eb; --ink:#243b33; --muted:#626c60;
 --line:#c8cec0; --field:#e9eddf; --green:#446958; --accent:#ac5038;
 --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
 --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
 --serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
}
* {box-sizing:border-box}
html {background:var(--paper);scroll-behavior:smooth}
body {margin:0;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
::selection {background:#d9e1c9;color:var(--ink)}
a {color:inherit;text-decoration:none;text-underline-offset:.3em}
a:hover {text-decoration:underline}
a:focus-visible,button:focus-visible,summary:focus-visible {outline:2px solid var(--accent);outline-offset:5px;border-radius:2px}
button {font:inherit;color:inherit;cursor:pointer;background:none;border:0}
button:hover {color:var(--accent)}
p,h1,h2,figure {margin:0}
[hidden] {display:none!important}
.sr-only {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link {position:absolute;top:-5rem;left:1.5rem;z-index:10;padding:.8rem 1.2rem;background:var(--ink);color:var(--paper)}
.skip-link:focus {top:1rem}
.page {max-width:1560px;margin:auto;padding:0 clamp(22px,4.6vw,76px)}
.site-header {min-height:96px;display:flex;align-items:center;border-bottom:1px solid var(--line)}
.wordmark {display:inline-flex;align-items:center;gap:15px;font-size:19px;letter-spacing:-.55px;font-weight:500;min-height:44px}
.wordmark-symbol {width:33px;height:36px;flex:0 0 33px;fill:none;stroke:var(--ink);stroke-width:1.1;stroke-linejoin:round}
.wordmark-symbol circle {stroke:none;fill:var(--accent)}
.place {color:var(--muted)}
/* one landmark: current approach(es) and the next realized differentiation. */
.place-navigation {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px 28px;min-height:78px;padding:10px 0;border-bottom:1px solid var(--line);font:12px/1.5 var(--mono)}
.address-trails {display:flex;align-items:center;flex-wrap:wrap;gap:0 13px;min-width:0;max-width:100%;padding:3px 0}
.home-crumb,.crumb {display:inline-flex;align-items:center;min-height:44px;padding:4px 3px;position:relative;overflow-wrap:anywhere}
.home-crumb {color:var(--muted)}
.home-crumb[aria-current="page"] {color:var(--ink)}
.home-crumb::before {content:'';display:block;flex:none;width:5px;height:5px;border-radius:50%;background:var(--line);margin-right:10px}
.home-crumb[aria-current="page"]::before {background:var(--accent)}
.trails-group {display:flex;flex-wrap:wrap;align-items:center;gap:0 14px;min-width:0;max-width:100%}
.trail {display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0;min-width:0;max-width:100%}
.crumb-step {display:inline-flex;align-items:center;min-width:0;max-width:100%}
.crumb-step::before {content:'·';color:var(--muted);padding:0 10px}
.trail + .trail .crumb-step:first-child::before {content:'';padding:0}
.trail-separator {font:22px var(--serif);color:var(--muted)}
.crumb[aria-current="page"] {color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
.next-places {display:flex;align-items:center;flex-wrap:wrap;gap:3px 23px;min-width:0}
.next-place {display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:5px 0;overflow-wrap:anywhere}
.next-place::after {content:'↗';font-size:11px;color:var(--muted);margin-left:7px}
.crumb.is-highlighted,.next-place.is-highlighted {color:var(--accent)}
.error-message {padding:16px;margin:20px 0;border-left:2px solid var(--accent);font-size:14px;line-height:1.6}
.error-message a {text-decoration:underline;display:inline-block;margin-left:12px}
.hero {display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:22px;padding:53px 0 46px;min-height:540px}
.hero-copy {min-width:0}
.eyebrow {display:flex;align-items:baseline;gap:11px;max-width:100%;font:11px/1.85 var(--mono);letter-spacing:-.1px;margin-bottom:28px}
.seed-mark {width:5px;height:5px;flex:0 0 5px;background:var(--accent);border-radius:50%;transform:translateY(-1px)}
h1 {font-family:var(--serif);font-size:clamp(43px,5.2vw,84px);font-weight:400;line-height:1.04;letter-spacing:-.056em;overflow-wrap:anywhere}
h1 em {font-weight:400;color:var(--green)}
.title-main,.title-answer {display:block}
.title-answer {margin-top:8px}
.dash {color:var(--accent);margin-left:.025em}
.main-description {font-size:19px;line-height:1.65;max-width:530px;margin-top:25px;letter-spacing:-.3px;overflow-wrap:anywhere}
.organ-title {font-size:clamp(51px,5.8vw,84px);max-width:570px}
.hero-geometry {width:100%;max-width:590px;justify-self:end;min-width:0}
#geometry {width:100%;touch-action:none;cursor:grab;border-radius:18px;user-select:none;-webkit-user-select:none}
#geometry.is-dragging {cursor:grabbing}
#geometry:focus-visible {outline:1px solid var(--green);outline-offset:6px}
.geometry {display:block;width:100%;height:auto;overflow:visible}
.map-field {fill:var(--field)}
.map-frame {stroke:var(--ink);stroke-width:1;fill:none;stroke-linejoin:round;pointer-events:none}
.other-frame {stroke:var(--green);stroke-dasharray:5 5;stroke-width:.8;opacity:.5}
.map-mesh {stroke:var(--green);stroke-width:.5;opacity:.3;fill:none;pointer-events:none}
.map-node {cursor:pointer}
.node-target {fill:transparent;stroke:none}
.node-dot {fill:var(--ink);stroke:var(--paper);stroke-width:2}
.current-node .node-dot {fill:var(--accent)}
.node-label {fill:var(--ink);font:17px var(--mono);paint-order:stroke;stroke:var(--field);stroke-width:5px;stroke-linejoin:round}
.label-leader {stroke:var(--green);stroke-width:.6;opacity:.5;pointer-events:none}
.map-node:hover .node-dot,.map-node:focus .node-dot,.map-node.is-highlighted .node-dot {fill:var(--accent);stroke:var(--accent);stroke-width:3}
.map-node:hover .node-label,.map-node:focus .node-label,.map-node.is-highlighted .node-label {fill:var(--accent)}
.map-node:focus-visible {outline:none}
.map-node:focus-visible .node-target {stroke:var(--accent);stroke-width:1.5}
.focus-ring {fill:none;stroke:var(--accent);stroke-width:1;pointer-events:none}
figcaption {display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;padding:0 7px;font:10px/1.6 var(--mono);color:var(--muted)}
.map-tools {display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding:0 7px;color:var(--muted);font:10px/1.6 var(--mono)}
.map-tools button {min-height:44px;padding:7px 0 7px 16px}
.map-tools button span {font-size:16px;margin-left:6px}
.practice {display:grid;grid-template-columns:1fr 3fr;gap:40px;padding:33px 0 39px;border-top:1px solid var(--line)}
.section-label {font:11px/1.8 var(--mono);color:var(--muted);font-weight:400;padding-top:5px}
.practice-copy {max-width:890px;min-width:0;font-size:clamp(18px,1.65vw,23px);line-height:1.58;letter-spacing:-.35px;overflow-wrap:anywhere}
.source-block {padding:12px 0 20px;border-top:1px solid var(--line);font:11px/1.7 var(--mono);color:var(--muted)}
.source-block summary {cursor:pointer;padding:12px 0;min-height:44px;width:fit-content}
.source-block ul {list-style:none;margin:2px 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:6px 24px}
.source-block li {max-width:100%}
.source-link {display:inline-block;min-height:36px;overflow-wrap:anywhere}
.site-footer {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding:22px 0 26px;border-top:1px solid var(--line);font:10px/1.8 var(--mono);color:var(--muted)}
.footer-dot {margin:0 10px}.footer-signature {color:var(--ink)}.footer-signature span {color:var(--accent);margin-left:10px}
.noscript-note {padding:20px 0;font-size:14px;line-height:1.7}.noscript-note a {text-decoration:underline}
@media (min-width:1500px) {.hero {min-height:620px}}
@media (max-width:1050px) {
 .site-header {min-height:88px}.place-navigation {gap:4px 20px}.next-places {gap:3px 16px}
 .hero {grid-template-columns:1.1fr 1fr;padding:42px 0 38px;min-height:465px}
 .eyebrow {font-size:10px}.main-description {font-size:17px}.practice {grid-template-columns:1fr 2.5fr;gap:25px}
}
@media (max-width:700px) {
 .page {padding:0 22px}.site-header {min-height:81px}.wordmark {gap:10px;font-size:17px;letter-spacing:-.55px}.wordmark-symbol {width:28px;flex-basis:28px}
 .place-navigation {display:block;padding:9px 0 12px;font-size:11px}.address-trails {gap:0 7px}
 .next-places {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 18px;padding-top:3px}
 .next-place {min-height:42px}.crumb-step::before {padding:0 8px}
 .hero {grid-template-columns:1fr;gap:29px;padding:35px 0 25px;min-height:0}
 h1 {font-size:clamp(39px,9.4vw,64px)}.eyebrow {max-width:345px;margin-bottom:24px}
 .hero-geometry {max-width:480px;justify-self:center}.node-label {font-size:20px}
 .main-description {font-size:18px}.organ-title {font-size:clamp(44px,10.3vw,66px)}
 figcaption,.map-tools {font-size:9px;padding:0}.map-tools button {min-height:44px}
 .practice {grid-template-columns:1fr;gap:14px;padding:26px 0 31px}.practice-copy {font-size:19px}.section-label {font-size:10px}
 .site-footer {font-size:9px;gap:10px}.source-block ul {display:block}
}
@media (max-width:370px) {.page{padding:0 19px}.wordmark{font-size:15px}.next-places{gap:0 12px}h1{font-size:38px}.practice-copy{font-size:18px}}
@media (prefers-reduced-motion:reduce) {html {scroll-behavior:auto}*,*::before,*::after {animation:none!important;transition:none!important}}
@media print {
 .page{padding:0}.site-header{min-height:60px}.place-navigation,.map-tools,.skip-link,.map-action-hint{display:none}
 .hero{grid-template-columns:1.3fr 1fr;min-height:0;padding:35px 0}h1{font-size:38pt}.practice-copy{font-size:13pt}.hero,.practice{break-inside:avoid}
}
