/* NBD shared: tokens, base type, masthead, plate captions, footer. */
:root{
  --paper:#F6F1E6;--ink:#1F2427;--muted:#5A5F5C;--body2:#3A3F3D;--hairline:#D9CFBD;--slate:#2E4A56;
  --gutter:clamp(20px,5.5vw,80px);
  --display:'Cormorant Garamond',Georgia,serif;
  --text:'Newsreader',Georgia,serif;
  --label:'Hanken Grotesk',system-ui,sans-serif;
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--text);-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-decoration:none}a:hover{color:var(--slate)}
img{display:block;max-width:100%;height:auto}
p{margin:0}
input::placeholder{color:#7C817D}

.page{max-width:1440px;margin:0 auto;overflow-x:hidden}
.cap{font-family:var(--label);font-size:11px;letter-spacing:.22em;text-transform:uppercase}
.muted{color:var(--muted)}
.numeral{font-family:var(--display);font-size:22px;font-style:italic;color:var(--slate)}
.label{font-weight:600}
.h2{margin:0;font-family:var(--display);font-weight:300;font-size:clamp(38px,4.2vw,60px);letter-spacing:-.01em}
.title-group{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:24px;row-gap:8px}
.plate{width:100%}
.plate-cap{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.plate-desc{font-style:italic;font-size:15px;color:var(--muted)}
.grid12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 24px;border-top:1px solid var(--ink);padding-top:30px}
.section-link{font-weight:600;color:var(--slate)}
.button{background:var(--ink);color:var(--paper);padding:18px 30px;font-weight:600;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center}
.button:hover{color:var(--paper);background:var(--slate)}
.text-link{font-style:italic;font-size:17px;border-bottom:1px solid var(--ink);padding-bottom:2px}

/* Masthead */
.masthead{min-height:140px;box-sizing:border-box;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;border-bottom:3px double var(--ink)}
.nav{display:flex;gap:36px;font-weight:500}
.nav-more{justify-content:flex-end}
.nav-accent{color:var(--slate)}
.wordmark{display:flex;flex-direction:column;align-items:center;gap:8px}
.wordmark-nbd{font-family:var(--display);font-weight:500;font-size:46px;letter-spacing:.42em;line-height:1;padding-left:.42em}
.wordmark-full{font-size:10px;letter-spacing:.34em}

/* Phone menu: a native <dialog>, shown only at ≤700px and only when js/menu.js runs */
.menu-btn,.menu-close{display:none;position:relative;width:44px;height:44px;padding:0;border:0;background:none;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent}
.menu-btn span,.menu-close span{position:absolute;left:11px;width:22px;height:1.5px;background:currentColor}
.menu-btn span:first-child{top:18px}
.menu-btn span:last-child{top:25px}
.menu-close{display:block;grid-column:3}
.menu-close span{top:21.25px}
.menu-close span:first-child{transform:rotate(45deg)}
.menu-close span:last-child{transform:rotate(-45deg)}
.menu{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;box-sizing:border-box;background:var(--paper);color:var(--ink);overflow-y:auto;overscroll-behavior:contain}
.menu[open]{display:flex;flex-direction:column}
.menu::backdrop{background:var(--paper)}
.menu-top{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;padding:18px var(--gutter) 14px;border-bottom:3px double var(--ink)}
.menu-top .wordmark{grid-column:2;margin:0}
.menu-links{display:flex;flex-direction:column;padding:32px var(--gutter) 0}
.menu-links a{display:flex;align-items:baseline;gap:16px;min-height:64px;box-sizing:border-box;padding:14px 0 12px;border-top:1px solid var(--hairline);font-family:var(--display);font-weight:300;font-size:clamp(38px,11vw,46px);line-height:1.05}
.menu-links a:first-child{border-top-color:var(--ink)}
.menu-links a:last-child{border-bottom:1px solid var(--hairline)}
.menu-links .numeral{font-size:18px;min-width:2.4em}
.menu-links [aria-current]{font-style:italic}
.menu-foot{margin-top:auto;padding:40px var(--gutter) 28px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.menu-foot img{width:200px}
.menu-tag{font-family:var(--display);font-style:italic;font-weight:300;font-size:22px}
.menu-foot .cap{display:flex;gap:24px;color:var(--muted)}
.menu-foot .cap a{color:var(--muted);padding:14px 0}
html.menu-open{overflow:hidden}

.menu[open]{animation:menu-in .22s ease both}
.menu[open] .menu-links a{animation:menu-rise .34s ease both}
.menu[open] .menu-links a:nth-child(2){animation-delay:30ms}
.menu[open] .menu-links a:nth-child(3){animation-delay:60ms}
.menu[open] .menu-links a:nth-child(4){animation-delay:90ms}
.menu[open] .menu-links a:nth-child(5){animation-delay:120ms}
.menu[open] .menu-close span:first-child{animation:menu-x1 .22s ease both}
.menu[open] .menu-close span:last-child{animation:menu-x2 .22s ease both}
.menu.is-closing{animation:menu-out .16s ease both}
@keyframes menu-in{from{opacity:0}}
@keyframes menu-out{to{opacity:0}}
@keyframes menu-rise{from{opacity:0;transform:translateY(8px)}}
@keyframes menu-x1{from{transform:translateY(-3.5px)}}
@keyframes menu-x2{from{transform:translateY(3.5px)}}
@media (prefers-reduced-motion:reduce){
  .menu[open],.menu[open] .menu-links a,.menu[open] .menu-close span,.menu.is-closing{animation:none}
}

/* Painted maps: unfiltered SVG overlay over the plate */
.map img,.map svg{position:absolute;inset:0;width:100%;height:100%}
.pin{fill:var(--paper);stroke:var(--ink);stroke-width:1}
.pin-n{font-family:var(--label);font-size:11px;font-weight:600;letter-spacing:.04em;text-anchor:middle;fill:var(--ink)}
.map-l{font-family:var(--text);font-style:italic;font-size:14px;fill:#3A4043}
.map-lake{font-family:var(--display);font-style:italic;font-size:30px;fill:#34596A;letter-spacing:.06em}
.map-cap{font-family:var(--label);font-size:10px;letter-spacing:.24em;fill:var(--muted)}

/* Numbered place lists */
.place-row{display:grid;grid-template-columns:44px minmax(0,1fr) 150px;column-gap:24px;align-items:baseline}
.place-head{padding:0 0 14px;border-bottom:1px solid var(--ink)}
.place{padding:24px 0;border-bottom:1px solid var(--hairline)}
.place-no{font-family:var(--display);font-size:26px;color:var(--slate)}
.place-main{display:flex;flex-direction:column;gap:6px}
.place-title{display:flex;flex-wrap:wrap;column-gap:14px;row-gap:2px;align-items:baseline}
.place-name{font-family:var(--display);font-size:30px;line-height:1.15}
.place-text{font-size:16px;line-height:1.5;font-weight:300;color:var(--body2)}
.place-go{font-style:italic;font-size:17px}
.go-label{display:none}

/* Footer */
.footer{padding:clamp(56px,4.9vw,70px) var(--gutter) 48px;display:flex;flex-direction:column;gap:clamp(48px,7.6vw,110px)}
.footer-top{align-items:center;row-gap:32px}
.footer-sprig{grid-column:1 / span 4}
.footer-sprig img{width:100%;max-width:360px}
.stewardship{grid-column:6 / span 7;display:flex;flex-direction:column;gap:18px}
.stewardship-title{font-family:var(--display);font-style:italic;font-weight:300;font-size:clamp(32px,3.05vw,44px);line-height:1.1}
.stewardship-copy{font-size:17px;line-height:1.68;font-weight:300;color:var(--body2)}
.footer-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px 32px;border-top:1px solid var(--hairline);padding-top:24px}
.footer-mark{display:flex;align-items:baseline;gap:16px}
.footer-nbd{font-family:var(--display);font-weight:500;font-size:24px;letter-spacing:.38em}
.footer-full{font-style:italic;font-size:15px}
.footer-links{display:flex;flex-wrap:wrap;gap:12px 32px;color:var(--muted)}
.footer-links a{color:var(--muted)}

@media (max-width:1100px){
  .masthead{display:flex;flex-wrap:wrap;justify-content:center;column-gap:28px;min-height:0;padding:28px var(--gutter) 6px}
  .wordmark{order:-1;flex-basis:100%;margin-bottom:10px}
  .nav{gap:28px}
  .nav a{padding:16px 0}
}

@media (max-width:700px){
  .masthead{padding-top:22px;column-gap:20px}
  .wordmark{margin-bottom:6px}
  .wordmark-nbd{font-size:34px}
  .nav{gap:20px}
  .nav a{padding:15px 0}

  .js .masthead{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;padding:18px var(--gutter) 14px}
  .js .masthead .nav{display:none}
  .js .masthead .wordmark{grid-column:2;grid-row:1;margin:0}
  .js .menu-btn{display:block;grid-column:3;grid-row:1}
  .js .wordmark-nbd,.menu-top .wordmark-nbd{font-size:30px}

  .plate-cap{flex-direction:column;gap:4px}
  .section-head{flex-direction:column;align-items:flex-start}
  .h2{line-height:1.1}
  .title-group{column-gap:14px}
  .title-group .h2{flex:1 1 0;min-width:0}

  .place-head{display:none}
  .place-row{grid-template-columns:36px minmax(0,1fr);column-gap:12px}
  .place{padding:22px 0}
  .place-go{grid-column:2;margin-top:10px}
  .go-label{display:inline;font-style:normal;color:var(--muted)}
  .place-name{font-size:27px}

  .footer-sprig,.stewardship{grid-column:1 / -1}
  .footer-sprig img{max-width:280px}
  .footer-bar{flex-direction:column;gap:16px}
  .footer-links{gap:4px 24px}
  .footer-links a{padding:14px 0}
  .footer-links span{flex-basis:100%;padding-top:4px}
}
