:root {
  color-scheme: light;
  --cream: #fffdf8;
  --navy: #093671;
  --blue: #4d78a5;
  --outline: #96caff;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--navy);
  background: var(--cream);
}
* { box-sizing: border-box; }
body { margin: 0; }
a { color: inherit; text-decoration: none; }
a:focus-visible { outline: 3px solid #3178b7; outline-offset: 6px; }
.hero {
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  overflow: clip;
  padding-bottom: clamp(36px, 7vh, 100px);
}
.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 24px clamp(22px, 4.7vw, 80px);
}
.brand { display: inline-flex; align-items: center; gap: 15px; color: #08295c; font-family: "Avenir Next", "Segoe UI", Arial, sans-serif; -webkit-font-smoothing: antialiased; white-space: nowrap; }
.brand-mark { display: block; position: relative; width: 52px; height: 45.23px; overflow: hidden; flex-shrink: 0; }
.brand-mark img { position: absolute; clip-path:polygon(49.384% 36.553%,49.005% 36.62%,48.72% 36.687%,48.531% 36.754%,48.436% 36.821%,48.246% 36.888%,48.152% 36.955%,47.962% 37.022%,47.867% 37.089%,47.773% 37.156%,47.678% 37.223%,47.583% 37.29%,47.488% 37.357%,47.488% 37.425%,47.393% 37.492%,47.299% 37.559%,47.204% 37.626%,47.204% 37.693%,47.109% 37.76%,47.109% 37.827%,47.014% 37.894%,47.014% 37.961%,46.919% 38.028%,46.825% 38.095%,46.825% 38.162%,46.73% 38.229%,46.73% 38.296%,46.635% 38.364%,46.54% 38.431%,46.54% 38.498%,46.445% 38.565%,46.445% 38.632%,46.351% 38.699%,46.256% 38.766%,46.256% 38.833%,46.161% 38.9%,46.161% 38.967%,46.066% 39.034%,46.066% 39.101%,45.972% 39.168%,45.877% 39.235%,45.877% 39.302%,45.782% 39.37%,45.782% 39.437%,45.687% 39.504%,45.592% 39.571%,45.592% 39.638%,45.498% 39.705%,45.498% 39.772%,45.403% 39.839%,45.403% 39.906%,45.308% 39.973%,45.213% 40.04%,45.213% 40.107%,45.118% 40.174%,45.118% 40.241%,45.024% 40.309%,44.929% 40.376%,44.929% 40.443%,44.834% 40.51%,44.834% 40.577%,44.739% 40.644%,44.645% 40.711%,44.645% 40.778%,44.55% 40.845%,44.55% 40.912%,44.455% 40.979%,44.36% 41.046%,44.36% 41.113%,44.265% 41.18%,44.265% 41.247%,44.171% 41.315%,44.171% 41.382%,44.076% 41.449%,43.981% 41.516%,43.981% 41.583%,43.886% 41.65%,43.886% 41.717%,43.791% 41.784%,43.697% 41.851%,43.697% 41.918%,43.602% 41.985%,43.602% 42.052%,43.507% 42.119%,43.412% 42.186%,43.412% 42.254%,43.318% 42.321%,43.318% 42.388%,43.223% 42.455%,43.128% 42.522%,43.128% 42.589%,43.033% 42.656%,43.033% 42.723%,42.938% 42.79%,42.938% 42.857%,42.844% 42.924%,42.749% 42.991%,42.749% 43.058%,42.654% 43.125%,42.654% 43.192%,42.559% 43.26%,42.464% 43.327%,42.464% 43.394%,42.37% 43.461%,42.37% 43.528%,42.275% 43.595%,42.275% 43.662%,42.18% 43.729%,42.085% 43.796%,42.085% 43.863%,41.991% 43.93%,41.991% 43.997%,41.896% 44.064%,41.801% 44.131%,41.801% 44.199%,41.706% 44.266%,41.706% 44.333%,41.611% 44.4%,41.611% 44.467%,41.517% 44.534%,41.422% 44.601%,41.422% 44.668%,41.327% 44.735%,41.327% 44.802%,41.232% 44.869%,41.232% 44.936%,41.137% 45.003%,41.043% 45.07%,41.043% 45.137%,40.948% 45.205%,40.948% 45.272%,40.853% 45.339%,40.758% 45.406%,40.758% 45.473%,40.664% 45.54%,40.664% 45.607%,40.569% 45.674%,40.474% 45.741%,40.474% 45.808%,40.379% 45.875%,40.379% 45.942%,40.284% 46.009%,40.284% 46.076%,40.19% 46.144%,40.095% 46.211%,40.095% 46.278%,40% 46.345%,40% 46.412%,39.905% 46.479%,39.81% 46.546%,39.81% 46.613%,39.716% 46.68%,39.716% 46.747%,39.621% 46.814%,39.621% 46.881%,39.526% 46.948%,39.431% 47.015%,39.431% 47.082%,39.336% 47.15%,39.336% 47.217%,39.242% 47.284%,39.242% 47.351%,39.147% 47.418%,39.052% 47.485%,39.052% 47.552%,38.957% 47.619%,38.957% 47.686%,38.863% 47.753%,38.768% 47.82%,38.768% 47.887%,38.673% 47.954%,38.673% 48.021%,38.578% 48.089%,38.483% 48.156%,38.483% 48.223%,38.389% 48.29%,38.389% 48.357%,38.294% 48.424%,38.199% 48.491%,38.199% 48.558%,38.104% 48.625%,38.104% 48.692%,38.009% 48.759%,38.009% 48.826%,37.915% 48.893%,37.82% 48.96%,37.82% 49.027%,37.725% 49.095%,37.725% 49.162%,37.63% 49.229%,37.63% 49.296%,37.536% 49.363%,37.441% 49.43%,37.441% 49.497%,37.346% 49.564%,37.251% 49.631%,37.251% 49.698%,37.156% 49.765%,37.156% 49.832%,37.062% 49.899%,36.967% 49.966%,36.967% 50.034%,36.872% 50.101%,36.872% 50.168%,36.777% 50.235%,36.777% 50.302%,36.682% 50.369%,36.588% 50.436%,36.588% 50.503%,36.493% 50.57%,36.493% 50.637%,36.398% 50.704%,36.303% 50.771%,36.303% 50.838%,36.209% 50.905%,36.209% 50.973%,36.114% 51.04%,36.114% 51.107%,36.019% 51.174%,35.924% 51.241%,35.924% 51.308%,35.829% 51.375%,35.735% 51.442%,35.735% 51.509%,35.64% 51.576%,35.64% 51.643%,35.545% 51.71%,35.545% 51.777%,35.45% 51.844%,35.355% 51.911%,35.355% 51.979%,35.261% 52.046%,35.261% 52.113%,35.166% 52.18%,35.071% 52.247%,35.071% 52.314%,34.976% 52.381%,34.976% 52.448%,34.882% 52.515%,34.787% 52.582%,34.787% 52.649%,34.692% 52.716%,34.692% 52.783%,34.597% 52.85%,34.502% 52.918%,34.502% 52.985%,34.408% 53.052%,34.408% 53.119%,34.313% 53.186%,34.313% 53.253%,34.218% 53.32%,34.123% 53.387%,34.123% 53.454%,34.028% 53.521%,34.028% 53.588%,33.934% 53.655%,33.839% 53.722%,33.839% 53.789%,33.744% 53.856%,33.744% 53.924%,33.649% 53.991%,33.649% 54.058%,33.555% 54.125%,33.46% 54.192%,33.46% 54.259%,33.365% 54.326%,33.365% 54.393%,33.27% 54.46%,33.175% 54.527%,33.175% 54.594%,33.081% 54.661%,33.081% 54.728%,32.986% 54.795%,32.891% 54.863%,32.891% 54.93%,32.796% 54.997%,32.796% 55.064%,32.701% 55.131%,32.607% 55.198%,32.607% 55.265%,32.512% 55.332%,32.512% 55.399%,32.417% 55.466%,32.417% 55.533%,32.322% 55.6%,32.227% 55.667%,32.227% 55.734%,32.133% 55.801%,32.133% 55.869%,32.038% 55.936%,31.943% 56.003%,31.943% 56.07%,31.848% 56.137%,31.848% 56.204%,31.754% 56.271%,31.659% 56.338%,31.659% 56.405%,31.564% 56.472%,31.564% 56.539%,31.469% 56.606%,31.469% 56.673%,31.374% 56.74%,31.28% 56.808%,31.28% 56.875%,31.185% 56.942%,31.185% 57.009%,31.09% 57.076%,30.995% 57.143%,30.995% 57.21%,30.9% 57.277%,30.9% 57.344%,30.806% 57.411%,30.711% 57.478%,30.711% 57.545%,30.616% 57.612%,30.616% 57.679%,30.521% 57.746%,30.521% 57.814%,30.427% 57.881%,30.332% 57.948%,30.332% 58.015%,30.237% 58.082%,30.142% 58.149%,30.142% 58.216%,30.047% 58.283%,30.047% 58.35%,29.953% 58.417%,29.953% 58.484%,29.858% 58.551%,29.763% 58.618%,29.763% 58.685%,29.668% 58.753%,29.668% 58.82%,29.573% 58.887%,29.479% 58.954%,29.479% 59.021%,29.384% 59.088%,29.384% 59.155%,29.289% 59.222%,29.194% 59.289%,29.194% 59.356%,29.1% 59.423%,29.1% 59.49%,29.005% 59.557%,29.005% 59.624%,28.91% 59.691%,28.815% 59.759%,28.815% 59.826%,28.72% 59.893%,28.72% 59.96%,28.626% 60.027%,28.531% 60.094%,28.531% 60.161%,28.436% 60.228%,28.436% 60.295%,28.341% 60.362%,28.341% 60.429%,28.246% 60.496%,28.246% 60.563%,28.246% 60.63%,28.246% 60.698%,28.152% 60.765%,28.152% 60.832%,28.152% 60.899%,28.152% 60.966%,28.152% 61.033%,28.152% 61.1%,28.152% 61.167%,28.152% 61.234%,28.152% 61.301%,28.152% 61.368%,28.152% 61.435%,28.152% 61.502%,28.152% 61.569%,28.152% 61.636%,28.152% 61.704%,28.152% 61.771%,28.246% 61.838%,28.246% 61.905%,28.246% 61.972%,28.341% 62.039%,28.341% 62.106%,28.436% 62.173%,28.436% 62.24%,28.531% 62.307%,28.531% 62.374%,28.626% 62.441%,28.72% 62.508%,28.72% 62.575%,28.815% 62.643%,28.91% 62.71%,29.005% 62.777%,29.1% 62.844%,29.194% 62.911%,29.384% 62.978%,29.479% 63.045%,29.668% 63.112%,29.858% 63.179%,30.047% 63.246%,30.332% 63.313%,30.711% 63.38%,69.289% 63.38%,69.668% 63.313%,69.953% 63.246%,70.142% 63.179%,70.332% 63.112%,70.427% 63.045%,70.616% 62.978%,70.711% 62.911%,70.806% 62.844%,70.9% 62.777%,70.995% 62.71%,71.09% 62.643%,71.185% 62.575%,71.28% 62.508%,71.28% 62.441%,71.374% 62.374%,71.374% 62.307%,71.469% 62.24%,71.469% 62.173%,71.564% 62.106%,71.564% 62.039%,71.659% 61.972%,71.659% 61.905%,71.659% 61.838%,71.659% 61.771%,71.754% 61.704%,71.754% 61.636%,71.754% 61.569%,71.754% 61.502%,71.754% 61.435%,71.754% 61.368%,71.754% 61.301%,71.754% 61.234%,71.754% 61.167%,71.754% 61.1%,71.754% 61.033%,71.754% 60.966%,71.754% 60.899%,71.659% 60.832%,71.659% 60.765%,71.659% 60.698%,71.659% 60.63%,71.564% 60.563%,71.564% 60.496%,71.469% 60.429%,71.469% 60.362%,71.374% 60.295%,71.374% 60.228%,71.28% 60.161%,71.28% 60.094%,71.185% 60.027%,71.185% 59.96%,71.09% 59.893%,70.995% 59.826%,70.995% 59.759%,70.9% 59.691%,70.9% 59.624%,70.806% 59.557%,70.711% 59.49%,70.711% 59.423%,70.616% 59.356%,70.616% 59.289%,70.521% 59.222%,70.521% 59.155%,70.427% 59.088%,70.332% 59.021%,70.332% 58.954%,70.237% 58.887%,70.237% 58.82%,70.142% 58.753%,70.047% 58.685%,70.047% 58.618%,69.953% 58.551%,69.953% 58.484%,69.858% 58.417%,69.858% 58.35%,69.763% 58.283%,69.668% 58.216%,69.668% 58.149%,69.573% 58.082%,69.573% 58.015%,69.479% 57.948%,69.384% 57.881%,69.384% 57.814%,69.289% 57.746%,69.289% 57.679%,69.194% 57.612%,69.1% 57.545%,69.1% 57.478%,69.005% 57.411%,69.005% 57.344%,68.91% 57.277%,68.91% 57.21%,68.815% 57.143%,68.72% 57.076%,68.72% 57.009%,68.626% 56.942%,68.531% 56.875%,68.531% 56.808%,68.436% 56.74%,68.436% 56.673%,68.341% 56.606%,68.341% 56.539%,68.246% 56.472%,68.152% 56.405%,68.152% 56.338%,68.057% 56.271%,68.057% 56.204%,67.962% 56.137%,67.962% 56.07%,67.867% 56.003%,67.773% 55.936%,67.773% 55.869%,67.678% 55.801%,67.678% 55.734%,67.583% 55.667%,67.488% 55.6%,67.488% 55.533%,67.393% 55.466%,67.393% 55.399%,67.299% 55.332%,67.299% 55.265%,67.204% 55.198%,67.109% 55.131%,67.109% 55.064%,67.014% 54.997%,67.014% 54.93%,66.919% 54.863%,66.825% 54.795%,66.825% 54.728%,66.73% 54.661%,66.73% 54.594%,66.635% 54.527%,66.54% 54.46%,66.54% 54.393%,66.445% 54.326%,66.445% 54.259%,66.351% 54.192%,66.256% 54.125%,66.256% 54.058%,66.161% 53.991%,66.161% 53.924%,66.066% 53.856%,66.066% 53.789%,65.972% 53.722%,65.877% 53.655%,65.877% 53.588%,65.782% 53.521%,65.782% 53.454%,65.687% 53.387%,65.687% 53.32%,65.592% 53.253%,65.498% 53.186%,65.498% 53.119%,65.403% 53.052%,65.403% 52.985%,65.308% 52.918%,65.213% 52.85%,65.213% 52.783%,65.118% 52.716%,65.118% 52.649%,65.024% 52.582%,65.024% 52.515%,64.929% 52.448%,64.834% 52.381%,64.834% 52.314%,64.739% 52.247%,64.739% 52.18%,64.645% 52.113%,64.645% 52.046%,64.55% 51.979%,64.455% 51.911%,64.455% 51.844%,64.36% 51.777%,64.36% 51.71%,64.265% 51.643%,64.171% 51.576%,64.171% 51.509%,64.076% 51.442%,64.076% 51.375%,63.981% 51.308%,63.886% 51.241%,63.886% 51.174%,63.791% 51.107%,63.791% 51.04%,63.697% 50.973%,63.697% 50.905%,63.602% 50.838%,63.507% 50.771%,63.507% 50.704%,63.412% 50.637%,63.412% 50.57%,63.318% 50.503%,63.223% 50.436%,63.223% 50.369%,63.128% 50.302%,63.128% 50.235%,63.033% 50.168%,63.033% 50.101%,62.938% 50.034%,62.844% 49.966%,62.844% 49.899%,62.749% 49.832%,62.749% 49.765%,62.654% 49.698%,62.654% 49.631%,62.559% 49.564%,62.464% 49.497%,62.464% 49.43%,62.37% 49.363%,62.275% 49.296%,62.275% 49.229%,62.18% 49.162%,62.18% 49.095%,62.085% 49.027%,61.991% 48.96%,61.991% 48.893%,61.896% 48.826%,61.896% 48.759%,61.801% 48.692%,61.801% 48.625%,61.706% 48.558%,61.611% 48.491%,61.611% 48.424%,61.517% 48.357%,61.517% 48.29%,61.422% 48.223%,61.422% 48.156%,61.327% 48.089%,61.232% 48.021%,61.232% 47.954%,61.137% 47.887%,61.137% 47.82%,61.043% 47.753%,60.948% 47.686%,60.948% 47.619%,60.853% 47.552%,60.853% 47.485%,60.758% 47.418%,60.664% 47.351%,60.664% 47.284%,60.569% 47.217%,60.569% 47.15%,60.474% 47.082%,60.474% 47.015%,60.379% 46.948%,60.379% 46.881%,60.284% 46.814%,60.19% 46.747%,60.19% 46.68%,60.095% 46.613%,60% 46.546%,60% 46.479%,59.905% 46.412%,59.905% 46.345%,59.81% 46.278%,59.81% 46.211%,59.716% 46.144%,59.716% 46.076%,59.621% 46.009%,59.526% 45.942%,59.526% 45.875%,59.431% 45.808%,59.431% 45.741%,59.336% 45.674%,59.242% 45.607%,59.242% 45.54%,59.147% 45.473%,59.147% 45.406%,59.052% 45.339%,58.957% 45.272%,58.957% 45.205%,58.863% 45.137%,58.863% 45.07%,58.768% 45.003%,58.768% 44.936%,58.673% 44.869%,58.578% 44.802%,58.578% 44.735%,58.483% 44.668%,58.483% 44.601%,58.389% 44.534%,58.294% 44.467%,58.294% 44.4%,58.199% 44.333%,58.199% 44.266%,58.104% 44.199%,58.104% 44.131%,58.009% 44.064%,57.915% 43.997%,57.915% 43.93%,57.82% 43.863%,57.82% 43.796%,57.725% 43.729%,57.63% 43.662%,57.63% 43.595%,57.536% 43.528%,57.536% 43.461%,57.441% 43.394%,57.441% 43.327%,57.346% 43.26%,57.251% 43.192%,57.251% 43.125%,57.156% 43.058%,57.156% 42.991%,57.062% 42.924%,56.967% 42.857%,56.967% 42.79%,56.872% 42.723%,56.872% 42.656%,56.777% 42.589%,56.777% 42.522%,56.682% 42.455%,56.588% 42.388%,56.588% 42.321%,56.493% 42.254%,56.493% 42.186%,56.398% 42.119%,56.303% 42.052%,56.303% 41.985%,56.209% 41.918%,56.209% 41.851%,56.114% 41.784%,56.019% 41.717%,56.019% 41.65%,55.924% 41.583%,55.924% 41.516%,55.829% 41.449%,55.735% 41.382%,55.735% 41.315%,55.64% 41.247%,55.64% 41.18%,55.545% 41.113%,55.545% 41.046%,55.45% 40.979%,55.355% 40.912%,55.355% 40.845%,55.261% 40.778%,55.261% 40.711%,55.166% 40.644%,55.166% 40.577%,55.071% 40.51%,54.976% 40.443%,54.976% 40.376%,54.882% 40.309%,54.882% 40.241%,54.787% 40.174%,54.692% 40.107%,54.692% 40.04%,54.597% 39.973%,54.597% 39.906%,54.502% 39.839%,54.408% 39.772%,54.408% 39.705%,54.313% 39.638%,54.313% 39.571%,54.218% 39.504%,54.218% 39.437%,54.123% 39.37%,54.028% 39.302%,54.028% 39.235%,53.934% 39.168%,53.934% 39.101%,53.839% 39.034%,53.744% 38.967%,53.744% 38.9%,53.649% 38.833%,53.649% 38.766%,53.555% 38.699%,53.555% 38.632%,53.46% 38.565%,53.365% 38.498%,53.365% 38.431%,53.27% 38.364%,53.27% 38.296%,53.175% 38.229%,53.081% 38.162%,53.081% 38.095%,52.986% 38.028%,52.986% 37.961%,52.891% 37.894%,52.891% 37.827%,52.796% 37.76%,52.796% 37.693%,52.701% 37.626%,52.607% 37.559%,52.607% 37.492%,52.512% 37.425%,52.417% 37.357%,52.322% 37.29%,52.227% 37.223%,52.133% 37.156%,52.038% 37.089%,51.943% 37.022%,51.848% 36.955%,51.659% 36.888%,51.564% 36.821%,51.374% 36.754%,51.185% 36.687%,50.9% 36.62%,50.521% 36.553%);width:228.85%;max-width:none;height:371.82%;top:-135.91%;left:-64.4252% }
.brand > span:not(.brand-mark) { font-size: 1.393rem; font-weight: 650; letter-spacing: 2.48px; text-transform: uppercase; line-height: 1.5; }
.login { color: #fff; background: linear-gradient(115deg, #0b3978, #103d77); border: 1.5px solid #103d77; border-radius: 999px; padding: 13px 27px; font-size: 1.125rem; min-height: 48px; }
.login:hover { background: #174d89; }
.hero-copy { position: relative; z-index: 1; text-align: center; padding: clamp(20px, 4vh, 55px) 18px 0; }
h1 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(3.4rem, 6.8vw, 6.25rem); line-height: .99; letter-spacing: -.055em; margin: 0; font-weight: 700; }
.hero-copy p { color: var(--blue); font-size: clamp(1.1rem, 2.5vw, 2rem); font-weight: 650; margin: 30px 0 0; line-height: 1.3; }
.hero-landscape { position: relative; margin-top: auto; padding-top: 22px; }
.landscape-window { width: max(100%, 820px); aspect-ratio: 1292 / 376; position: relative; left: 50%; transform: translateX(-50%); overflow: hidden; mask-image: linear-gradient(to bottom, transparent, black 8%, black 88%, transparent); }
.landscape-window img { display: block; position: absolute; width: 100%; height: auto; top: 0; transform: translateY(-39.4%); }
.hero-action { position: relative; z-index: 1; display: flex; justify-content: center; padding: 0 20px; margin-top: -12px; }
.start-map { display: inline-flex; justify-content: center; align-items: center; gap: 20px; padding: 16px 32px; min-height: 60px; border-radius: 999px; color: #fff; background: linear-gradient(115deg, #0b3978, #103d77); box-shadow: 0 10px 25px #174d7f26; font-size: 1.25rem; transition: background .15s, transform .15s; }
.start-map:hover { background: #174d89; transform: translateY(-2px); }
@media (min-width: 1600px) { .landscape-window img { width: 100%; } }
@media (max-width: 600px) {
  .site-header { padding: 22px 20px; gap: 12px; }
  .brand { gap: 12px; }
  .brand-mark { width: 42px; height: 36.53px; }
  .brand > span:not(.brand-mark) { font-size: 1.125rem; letter-spacing: 2px; }
  .login { font-size: .95rem; padding: 11px 18px; min-height: 44px; }
  .hero-copy { padding-top: 50px; }
  h1 { font-size: clamp(3rem, 11.9vw, 4.4rem); line-height: 1.04; }
  .hero-copy p { margin-top: 24px; font-size: clamp(1rem, 4.5vw, 1.5rem); }
  .hero-landscape { padding-top: 40px; }
  .start-map { min-height: 54px; font-size: 1.1rem; padding: 13px 27px; gap: 16px; }
  .hero { padding-bottom: 55px; }
}
@media (prefers-reduced-motion: reduce) { .start-map { transition: none; } }

@media (max-width: 380px) {
  .site-header { padding-inline: 16px; gap: 10px; }
  .brand { gap: 10px; }
  .brand-mark { width: 36px; height: 31.31px; }
  .brand > span:not(.brand-mark) { font-size: .97rem; letter-spacing: 1.72px; }
  .login { padding-inline: 15px; }
}

/* The CTA is now a button; retain the existing hero link's appearance. */
button.start-map { font-family: inherit; font-weight: 400; line-height: normal; border: 0; cursor: pointer; }
button.start-map:focus-visible { outline: 3px solid #3178b7; outline-offset: 6px; }
.start-map-dialog { box-sizing: border-box; width: min(360px, calc(100% - 32px)); max-height: calc(100svh - 48px); margin: auto; padding: 30px; border: 1px solid #cddbe8; border-radius: 18px; background: #fff; color: #214169; box-shadow: 0 12px 36px #10326918; overflow-y: auto; font-family: "Avenir Next", "Segoe UI", Arial, sans-serif; }
.start-map-dialog::backdrop { background: #102b654d; }
.start-map-dialog h2 { display: flex; align-items: center; justify-content: center; gap: 9px; margin: 0; color: #16396e; font-family: Georgia, "Times New Roman", serif; font-size: 26px; font-weight: 500; line-height: 1.3; letter-spacing: -.45px; text-align: center; }
.start-map-dialog h2 svg { flex-shrink: 0; }
.start-map-options { display: grid; gap: 12px; margin-top: 24px; }
.chooser-option { display: flex; justify-content: center; align-items: center; width: 100%; min-height: 50px; padding: 11px 14px; border: 1px solid #284f72; border-radius: 9px; background: #284f72; color: #fff; font-size: 14px; font-weight: 500; line-height: 1.5; text-align: center; }
.chooser-option:hover { background: #1f4262; border-color: #1f4262; }
@media (max-width: 600px) { .start-map-dialog { padding: 24px; } }

/* Page 2: the supplied story and photograph, in the established WealthMaps palette. */
.our-purpose { min-height: 100svh; display: grid; align-items: center; padding: clamp(72px, 9vw, 140px) clamp(24px, 6vw, 96px); background: var(--cream); }
.purpose-layout { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); align-items: center; gap: clamp(44px, 6vw, 88px); width: 100%; max-width: 1140px; margin-inline: auto; }
.purpose-visual { margin: 0; position: relative; width: 88%; justify-self: center; }
.purpose-photo { position: relative; width: 100%; aspect-ratio: 1122 / 1402; overflow: hidden; border-radius: 16px; background: #eee4d6; }
/* Use the full-resolution photo directly, without a screenshot crop or outline. */
.purpose-photo img { display: block; width: 100%; height: auto; }
.purpose-visual figcaption { margin-top: 20px; color: #4d6783; font-family: Georgia, "Times New Roman", serif; font-size: 1rem; font-style: italic; line-height: 1.5; text-align: center; }
.purpose-copy { color: #214169; font-family: "Avenir Next", "Segoe UI", Arial, sans-serif; font-size: clamp(1.0625rem, 1.45vw, 1.1875rem); line-height: 1.75; }
.purpose-copy h2 { margin: 0; color: #16396e; font-size: clamp(1.8rem, 2.75vw, 2.75rem); font-weight: 650; line-height: 1.18; letter-spacing: -.035em; }
.purpose-copy h2 .purpose-heading-name { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 1.3em; font-weight: 500; letter-spacing: -.045em; margin-top: 16px; }
.purpose-copy h3 { margin: 22px 0 24px; color: #16396e; font-size: clamp(1.25rem, 1.8vw, 1.5rem); font-weight: 600; line-height: 1.4; letter-spacing: -.025em; }
.purpose-copy p { margin: 0; }
.purpose-copy .purpose-body { font-weight: 500; }
.purpose-copy .purpose-closing { margin-top: 28px; color: #16396e; font-size: 1.12em; font-weight: 650; line-height: 1.5; }
@media (max-width: 760px) {
  .our-purpose { padding: 72px 28px 80px; }
  .purpose-layout { grid-template-columns: minmax(0, 1fr); gap: 42px; max-width: 520px; }
  .purpose-visual { width: min(88%, 320px); margin-inline: auto; }
  .purpose-copy { font-size: 1.0625rem; line-height: 1.75; }
}

.purpose-heading-label { text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: .18em; }

/* Page 3 mirrors Page 2, with the supplied Times Square artwork on the right. */
.freedom-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); }
.freedom-copy h2 { margin-bottom: 30px; }
.freedom-copy .purpose-body + .purpose-body { margin-top: 22px; }
.freedom-copy .freedom-divider { width: 100%; height: 1.75em; margin: 22px auto; padding: 0; border: 0; background: linear-gradient(#16396e, #16396e) center / 100% 2px no-repeat; }
.freedom-visual { margin: 0; width: 100%; overflow: hidden; border-radius: 16px; }
.freedom-visual img { display: block; width: 100%; height: auto; }
@media (max-width: 760px) {
  .freedom-layout { grid-template-columns: minmax(0, 1fr); }
  .freedom-visual { max-width: 460px; justify-self: center; }
}

/* Site Footer */
.site-footer {
  border-top: 1px solid #dce7f2;
  background: var(--cream);
  padding: 48px clamp(22px, 4.7vw, 80px) 56px;
  color: #214169;
  font-family: "Avenir Next", "Segoe UI", Arial, sans-serif;
}
.footer-inner {
  max-width: 1140px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 24px;
}
.footer-brand {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.footer-logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #08295c;
  font-size: 1.15rem;
  font-weight: 650;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.footer-mark {
  width: 34px;
  height: 29.57px;
}
.footer-tagline {
  margin: 0;
  color: #4d78a5;
  font-size: 0.95rem;
  font-weight: 500;
}
.footer-links {
  display: flex;
  align-items: center;
  gap: 12px;
}
.footer-link {
  color: #214169;
  font-size: 1rem;
  font-weight: 550;
  transition: color 0.15s ease;
  padding: 6px 0;
}
.footer-link:hover {
  color: #0b3978;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.footer-separator {
  color: #8faec8;
  font-size: 1rem;
  line-height: 1;
  user-select: none;
}
.footer-copy {
  margin: 0;
  color: #607d9b;
  font-size: 0.9rem;
}
.footer-copy p {
  margin: 0;
}
@media (max-width: 760px) {
  .site-footer {
    padding: 40px 24px 48px;
  }
  .footer-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
  .footer-links {
    gap: 10px;
    flex-wrap: wrap;
  }
}

/* Legal / Privacy Policy Page */
.legal-main {
  min-height: calc(100vh - 200px);
  padding: clamp(32px, 5vw, 60px) clamp(20px, 4vw, 32px) clamp(64px, 8vw, 110px);
  background: var(--cream);
}
.legal-container {
  max-width: 780px;
  margin: 0 auto;
}
.legal-back-nav {
  margin-bottom: 28px;
}
.legal-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #316599;
  font-size: 0.95rem;
  font-weight: 600;
  transition: color 0.15s ease, transform 0.15s ease;
}
.legal-back-link:hover {
  color: #0b3978;
  transform: translateX(-2px);
}
.legal-header {
  border-bottom: 1px solid #dce7f2;
  padding-bottom: 28px;
  margin-bottom: 36px;
}
.legal-title {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.4rem, 5vw, 3.4rem);
  font-weight: 700;
  color: #0b3978;
  margin: 0 0 12px;
  line-height: 1.15;
  letter-spacing: -0.03em;
}
.legal-meta {
  color: #4d78a5;
  font-size: 1rem;
  font-weight: 550;
  margin: 0;
}
.legal-content {
  font-family: "Avenir Next", "Segoe UI", Arial, sans-serif;
  color: #214169;
  font-size: 1.0625rem;
  line-height: 1.75;
}
.legal-intro {
  font-size: 1.15rem;
  line-height: 1.75;
  color: #16396e;
  margin-bottom: 32px;
}
.legal-callout {
  background: #f1f6fc;
  border: 1px solid #c8dbee;
  border-left: 4px solid #103d77;
  border-radius: 12px;
  padding: 24px 28px;
  margin: 32px 0;
}
.legal-callout h3 {
  margin: 0 0 12px;
  font-size: 1.15rem;
  font-weight: 650;
  color: #0b3978;
}
.legal-callout ul {
  margin: 0;
  padding-left: 20px;
}
.legal-callout li {
  margin-bottom: 8px;
}
.legal-callout li:last-child {
  margin-bottom: 0;
}
.legal-section {
  margin-top: 40px;
}
.legal-section h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.4rem, 2.4vw, 1.75rem);
  color: #0b3978;
  margin: 0 0 16px;
  font-weight: 650;
  letter-spacing: -0.02em;
}
.legal-section h3 {
  font-size: 1.15rem;
  color: #16396e;
  margin: 24px 0 10px;
  font-weight: 650;
}
.legal-section p {
  margin: 0 0 16px;
}
.legal-section ul, .legal-section ol {
  margin: 0 0 18px;
  padding-left: 22px;
}
.legal-section li {
  margin-bottom: 8px;
}
.legal-section a {
  color: #175294;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.legal-section a:hover {
  color: #093671;
}
.provider-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin: 20px 0 24px;
}
.provider-card {
  background: #ffffff;
  border: 1px solid #d5e2ef;
  border-radius: 10px;
  padding: 18px 20px;
  box-shadow: 0 2px 8px rgba(16, 50, 105, 0.04);
}
.provider-card strong {
  display: block;
  font-size: 1.05rem;
  color: #0b3978;
  margin-bottom: 6px;
}
.provider-card span {
  font-size: 0.95rem;
  color: #4a6888;
  line-height: 1.5;
  display: block;
}

/* Support Page */
.support-contact-box {
  background: #f1f6fc;
  border: 1px solid #c8dbee;
  border-radius: 14px;
  padding: 24px 28px;
  margin: 28px 0 36px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.support-contact-box p {
  margin: 0;
  font-size: 1.0625rem;
  line-height: 1.6;
}
.support-email-link {
  font-size: 1.25rem;
  font-weight: 650;
  color: #0b3978;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.support-email-link:hover {
  color: #174d89;
}
.support-response-note {
  color: #4d6783;
  font-size: 0.95rem;
  font-style: italic;
}
.support-grid {
  display: grid;
  gap: 20px;
  margin-top: 24px;
}
.support-card {
  background: #ffffff;
  border: 1px solid #dce7f2;
  border-radius: 12px;
  padding: 24px 26px;
  box-shadow: 0 2px 8px rgba(16, 50, 105, 0.04);
}
.support-card h3 {
  margin: 0 0 10px;
  color: #0b3978;
  font-size: 1.2rem;
  font-weight: 650;
}
.support-card p {
  margin: 0 0 10px;
  color: #214169;
  font-size: 1rem;
  line-height: 1.65;
}
.support-card p:last-child {
  margin-bottom: 0;
}
.support-path {
  display: inline-block;
  background: #edf3fa;
  border: 1px solid #cadbef;
  border-radius: 6px;
  padding: 5px 12px;
  font-size: 0.92rem;
  font-weight: 600;
  color: #0b3978;
  margin: 6px 0;
}


