
:root{--ink:#183a40;--teal:#246c68;--muted:#586c70;--paper:#f7f6f1;--line:#d7dfd9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 system-ui,-apple-system,sans-serif}a{color:inherit;text-underline-offset:5px}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #b06a35;outline-offset:5px}img{display:block;max-width:100%}.site-header,main,footer{max-width:1260px;margin:auto;padding:0 48px}.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:24px;font-weight:650;text-decoration:none}.brand span{font-size:17px;font-weight:400;color:var(--muted);margin-left:10px}nav{display:flex;gap:28px;font-size:14px}nav a{text-decoration:none}nav a[aria-current]{border-bottom:2px solid var(--teal)}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;padding:80px 0 64px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;color:var(--teal);margin:0 0 18px}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(38px,4.2vw,60px);margin:0 0 26px}h1 em{color:var(--teal);font-weight:400}h2{font-size:44px;margin:0 0 22px}h3{font-size:23px;line-height:1.25;margin:0 0 20px}p{margin:0 0 20px}.intro{max-width:470px;font-size:18px;color:var(--muted)}.hero-links{display:flex;gap:24px;align-items:center;margin-top:32px;font-size:14px}.solid-link{background:var(--ink);color:white;padding:12px 18px;text-decoration:none;border-radius:3px}.hero-map{margin:0;background:white;padding:16px;box-shadow:0 18px 50px #183a4010;transform:rotate(-2deg);border:1px solid var(--line)}figcaption{font-size:12px;line-height:1.6;color:var(--muted);padding:14px 8px 2px}.section-index{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;display:flex;gap:40px;font-size:13px}.section-index a{text-decoration:none}.project-section{padding:72px 0;scroll-margin-top:20px}.section-heading{max-width:680px;margin-bottom:36px}.section-heading>p:last-child{color:var(--muted);font-size:17px}.model-layout{display:grid;grid-template-columns:290px 1fr;gap:40px}.model-layout aside{font-size:14px}.pathway{display:flex;flex-direction:column;align-items:center;padding:20px;border:1px solid var(--line);background:#edf1ec;margin:25px 0}.pathway span{padding:6px 18px;border:1px solid #becfc4;background:#fff;border-radius:3px;min-width:190px;text-align:center}.pathway b{color:var(--teal);font-weight:400}.note{font-size:12px;color:var(--muted);border-left:3px solid #b08648;padding-left:14px}.text-link{display:block;margin-top:12px}.map-explorer{background:white;border:1px solid var(--line);padding:20px;align-self:start}.view-controls{display:flex;gap:6px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--line)}.view-controls button{border:0;background:transparent;padding:8px 12px;color:var(--muted);border-radius:3px;font-size:13px}.view-controls button[aria-pressed=true]{background:var(--ink);color:white}.map-explorer figure{margin:16px 0 0}.figure-zoom{display:block;background:white;padding:0;border:0;width:100%}.figure-zoom img{width:100%;height:390px;object-fit:contain}.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.map-card{border:1px solid var(--line);background:#fff}.map-preview{position:relative;display:block;width:100%;background:#e9ede7;border:0;padding:28px;height:400px}.map-preview img{height:100%;width:100%;object-fit:contain;transition:transform .25s}.map-preview:hover img{transform:scale(1.025)}.map-preview span{position:absolute;bottom:12px;right:14px;background:var(--ink);color:white;padding:5px 10px;font-size:11px;border-radius:2px}.map-copy{padding:28px}.map-copy h3{font-family:Georgia,serif;font-size:28px;font-weight:400;margin-bottom:12px}.map-copy>p:not(.eyebrow){font-size:14px;color:var(--muted)}.map-copy .eyebrow{margin-bottom:10px}.map-copy .skills{font-size:12px!important}.map-copy a,.collection-link{font-size:13px}.collection-link{display:inline-block;margin-top:28px}.contact{border-top:1px solid var(--line);padding:48px 0 60px}.contact h2{font-size:34px}.contact p:last-child{display:flex;gap:28px;flex-wrap:wrap;font-size:14px}footer{display:flex;justify-content:space-between;gap:20px;padding-top:24px;padding-bottom:30px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}dialog{width:94vw;max-width:1500px;height:92vh;border:1px solid var(--line);padding:0;background:white}dialog::backdrop{background:#122a31d9}.dialog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 22px;border-bottom:1px solid var(--line)}.dialog-toolbar h2{font:18px system-ui;margin:0}.dialog-toolbar button{border:1px solid var(--line);background:white;padding:6px 12px;border-radius:3px}.image-scroll{height:calc(100% - 70px);overflow:auto;padding:20px}#dialog-image{margin:auto;max-width:none;width:100%;height:100%;object-fit:contain}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:white;padding:10px;z-index:5}@media(max-width:900px){.site-header,main,footer{padding-left:24px;padding-right:24px}.hero{gap:24px}.model-layout{grid-template-columns:1fr}.model-layout aside{display:block;max-width:650px}.pathway{flex-direction:row;gap:8px;flex-wrap:wrap;justify-content:center}.pathway span{min-width:0}.pathway b{transform:rotate(-90deg)}.map-preview{height:340px}}@media(max-width:600px){.site-header{height:auto;padding-top:20px;padding-bottom:18px;align-items:flex-start;gap:18px;flex-direction:column}nav{gap:24px}.hero{grid-template-columns:1fr;padding:45px 0}.hero-map{transform:none}.hero h1{font-size:40px}h2{font-size:34px}.map-grid{grid-template-columns:1fr}.section-index{gap:24px}.project-section{padding:45px 0}.figure-zoom img{height:290px}.map-explorer{padding:12px}.map-copy{padding:22px}footer{flex-wrap:wrap}.contact p:last-child{gap:10px}.dialog-toolbar{padding:12px}.dialog-toolbar h2{font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
