:root{--ink:#171717;--muted:#606060;--line:#e6e6e6;--pale:#f5f5f5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:4px}a:focus-visible,summary:focus-visible{outline:3px solid #171717;outline-offset:4px}h1,h2,h3,p{margin-top:0}.skip{position:absolute;left:16px;top:-100px;background:#fff;padding:12px;z-index:10}.skip:focus{top:12px}header{border-bottom:1px solid var(--line)}.header-inner{width:min(100% - 96px,1280px);height:72px;margin:auto;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;flex-direction:column;line-height:1.2;text-decoration:none;font-size:14px}.brand span{font-size:12px;color:var(--muted);margin-top:3px}.back{font-size:14px;min-height:44px;display:flex;align-items:center;gap:8px}.wrap{width:min(100% - 96px,1120px);margin:auto}.hero{min-height:650px;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,350px);align-items:center;gap:clamp(48px,9vw,120px);padding:70px 0 90px}.hero-copy{max-width:620px}.eyebrow{font-size:13px;font-weight:700;color:var(--muted);letter-spacing:.03em;margin-bottom:15px}.hero h1{font-size:clamp(42px,5.5vw,74px);line-height:1.04;letter-spacing:-.045em;font-weight:600;margin:0 0 20px}.intro{font-size:clamp(21px,2.3vw,27px);line-height:1.3;letter-spacing:-.02em}.hero-copy>p:not(.eyebrow):not(.intro):not(.authors):not(.note){max-width:530px;color:var(--muted);font-size:18px}.authors{font-size:14px;font-weight:600;margin:28px 0}.cover{width:100%;height:auto;display:block;box-shadow:0 16px 48px #0002}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.primary,.secondary{min-height:50px;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:12px 18px;font-size:14px;font-weight:600}.primary{background:#171717;color:white;text-decoration:none}.primary:hover{background:#383838}.secondary{border:1px solid #aaa;text-decoration:none}.secondary:hover{background:var(--pale)}.note{color:var(--muted);font-size:13px;margin:14px 0 0}.paths{border-top:1px solid var(--line);padding:80px 0 96px}.paths h2,.reading h2,.next h2{font-size:clamp(30px,3.5vw,43px);line-height:1.15;letter-spacing:-.035em;margin:0 0 14px;font-weight:600}.paths>p:not(.eyebrow),.reading-head>p:not(.eyebrow),.next p:not(.eyebrow):not(.note){color:var(--muted);max-width:630px}.path-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:34px}.path-grid a{position:relative;display:flex;min-height:210px;flex-direction:column;padding:21px;border:1px solid var(--line);text-decoration:none}.path-grid a:hover{background:var(--pale);border-color:#aaa}.path-grid span{font-size:12px;color:var(--muted);margin-bottom:30px}.path-grid strong{font-size:18px;line-height:1.3;letter-spacing:-.02em}.path-grid small{font-size:14px;color:var(--muted);margin:10px 22px 0 0;line-height:1.45}.path-grid b{position:absolute;bottom:18px;right:20px;font-size:20px;font-weight:400}.reading{border-top:1px solid var(--line);padding:80px 0}.reading-head,.book-text{max-width:720px;margin:auto}.toc{border-block:1px solid var(--line);margin-top:30px}.toc summary{display:flex;justify-content:space-between;cursor:pointer;min-height:56px;align-items:center;font-size:15px;font-weight:600;list-style:none}.toc summary:after{content:'+';font-size:21px;font-weight:400}.toc[open] summary:after{content:'−'}.toc ol{list-style:none;margin:0;padding:0 0 22px}.toc li a{display:block;padding:8px 0;font-size:15px}.book-text{padding-top:36px}.book-text h2{margin:80px 0 24px;font-size:32px;line-height:1.2;letter-spacing:-.025em;scroll-margin-top:28px}.book-text h3{margin:64px 0 18px;font-size:24px;line-height:1.25;letter-spacing:-.025em;scroll-margin-top:28px}.book-text p{font-size:17px;line-height:1.8;margin:0 0 20px}.book-text p+p{margin-top:0}.next{border-top:1px solid var(--line);padding:75px 0 85px}.next>div{max-width:720px}.next .actions{margin-top:28px}footer{border-top:1px solid var(--line);padding:24px 0 40px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:13px}@media(max-width:800px){.path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:38px;grid-template-columns:minmax(0,1fr) minmax(180px,260px);min-height:0}.hero h1{font-size:clamp(38px,6vw,58px)}}@media(max-width:600px){.header-inner,.wrap{width:calc(100% - 32px)}.header-inner{height:64px}.brand{font-size:13px}.back{font-size:13px}.hero{display:flex;flex-direction:column;align-items:flex-start;padding:42px 0 64px;gap:32px}.hero h1{font-size:clamp(40px,10vw,52px)}.hero-copy>p:not(.eyebrow):not(.intro):not(.authors):not(.note){font-size:16px}.cover{width:min(58%,230px);align-self:center}.paths,.reading,.next{padding:58px 0}.path-grid{grid-template-columns:1fr}.path-grid a{min-height:0;padding:18px}.path-grid span{margin-bottom:14px}.path-grid small{margin-bottom:4px}.book-text h2{font-size:28px}.book-text h3{font-size:22px}.book-text p{font-size:16px;line-height:1.75}.actions{align-items:stretch;flex-direction:column}.primary,.secondary{width:100%}footer{flex-direction:column}}
.book-figure{margin:32px 0}.book-figure img{display:block;width:100%;height:auto}.book-figure figcaption{font-size:13px;color:#606060;text-align:center;margin-top:8px}.in-book-bridge{background:#f5f5f5;padding:22px 24px;margin:36px 0}.in-book-bridge strong{font-size:15px}.in-book-bridge p{font-size:15px;line-height:1.6;margin:8px 0}.in-book-bridge a{font-size:14px;font-weight:600}
.invitation{border-top:1px solid #e6e6e6;padding:56px 0}.invitation>div{max-width:740px}.invitation h2{font-size:clamp(26px,3vw,36px);line-height:1.2;letter-spacing:-.03em;margin-bottom:14px}.invitation p:not(.eyebrow):not(.note){color:#606060}.invitation-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:20px}.invitation-links a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600}.invitation .note{margin-top:8px}@media(max-width:600px){.invitation{padding:48px 0}.invitation-links{flex-direction:column;gap:0}}
/* OSM: the same locally hosted Inter family across the book and map. */
@font-face{font-family:Inter;src:url('inter-variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
body{font-family:Inter,Arial,sans-serif;letter-spacing:-.01em}
.hero{gap:clamp(54px,9vw,128px);padding-top:80px;padding-bottom:96px}
.hero h1{font-weight:700;letter-spacing:-.055em;line-height:1.03}
.intro{font-weight:400;letter-spacing:-.025em}
.cover{box-shadow:0 14px 42px rgba(0,0,0,.09)}
.eyebrow{font-weight:650;letter-spacing:.015em}
.paths h2,.reading h2,.next h2,.invitation h2{font-weight:650;letter-spacing:-.04em}
.path-grid a{border-color:#dedede;transition:background .15s,border-color .15s}
.path-grid strong{font-weight:650;letter-spacing:-.025em}
.book-text{max-width:672px}
.book-text p{line-height:1.8}
.book-text h2,.book-text h3{font-weight:650}
.toc li a{min-height:44px;display:flex;align-items:center}
.brand,.back,footer a{min-height:44px;justify-content:center}
.in-book-bridge a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:600px){.hero{padding-top:42px;padding-bottom:64px}.hero h1{font-size:clamp(36px,9.4vw,52px);overflow-wrap:normal}.book-text p{line-height:1.75}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.path-grid a{transition:none}}
