:root{
      --bg:#0b0f14;
      --panel:#0f1621;
      --stroke:#233042;
      --muted:#9fb0c5;
      --text:#e8eef7;

      --dotTier1:#ffd24a;      /* bright yellow */
      --dotTier1Stroke:#1a1200;

      --dotOther:#6f7c8e;      /* grey */
      --dotOtherStroke:#141a22;

      /* NEW map palette */
      --water:#d4dee8;
      --grid:#889cb6;
      --land:#fffbf8;
      --outline:#889cb6;
    }

    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Helvetica Neue", Helvetica;
/*       background: var(--bg); */
      color: var(--text);
      background:#EFEFEF;
      color:#000;
      font-size:13px;
    }

    .wrap{
      max-width: 1300px;
      margin: 0 auto;
      padding: 20px 16px 28px;
    }

    header{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:16px;
      margin-bottom: 12px;
    }

    h1{
      font-size: 18px;
      margin:0 0 6px 0;
      letter-spacing: 0.2px;
      color:#000;
    }

    .sub{
      margin:0;
/*       color: var(--muted); */
      color: #000;
      font-size: 13px;
      line-height: 1.35;
      max-width: 760px;
    }

    .card{
/*       background: var(--panel); */
      border: 0px solid var(--stroke);
      border-radius: 14px;
/*       padding: 12px; */
    }

    .row{
      display:flex;
      gap: 30px;
      flex-wrap: wrap;
      align-items: stretch;
      margin-top: 10px;
    }

    .mapCard{
      flex: 4 1 670px;
      min-width: 320px;
    }

    .legendCard{
      flex: 1 1 240px;
      min-width: 240px;
      max-width: 340px;
    }

    .legendTitle{
      font-weight: 600;
      margin: 0 0 8px 0;
      font-size: 14px;
      color:#000;
    }

    .stateTitle{
      font-weight:700;
      color:#000;
      margin-bottom:6px;
    }

    .stateBody{
      color: var(--muted);
      line-height:1.35;
    }


    .legendItem{
      display:flex;
      align-items:center;
      gap:10px;
      margin: 8px 0;
      color: var(--muted);
      font-size: 13px;
    }

    .swatch{
      width: 12px;
      height: 12px;
      border-radius: 999px;
      border: 1px solid rgba(0,0,0,.4);
      box-shadow: 0 0 0 2px rgba(255,255,255,.06);
    }
    .swatch.tier1{ background: var(--dotTier1); }
    .swatch.other{ background: var(--dotOther); }

    .note{
      margin-top: 10px;
/*       color: var(--muted); */
      color: #000;
      font-size: 12px;
      line-height: 1.35;
    }

    .mapStage{
      position: relative;
      width: 100%;
      aspect-ratio: 16 / 10;
      overflow: hidden;
/*       border-radius: 12px; */
      border: 0px solid var(--stroke);
      background: var(--land);
    }

    svg{
      width:100%;
      height:100%;
      display:block;
    }

    /* NEW layers */
    .water{
      fill: var(--water);
    }

    .graticule{
      fill: none;
      stroke: var(--grid);
      stroke-width: 0.6;
      opacity: 0.55;
      pointer-events: none;
    }

    .waterLabel{
      font-size: 11px;
      font-style: italic;
      fill: rgba(136,156,182,0.95);
      letter-spacing: 0.2px;
      pointer-events: none;
      user-select: none;
    }

    /* Update state styling to match requested palette */
    .state{
      fill: var(--land);
      stroke: rgba(136,156,182,0.85);
      stroke-width: 0.8;
    }

    .stateBorders{
      fill: none;
      stroke: rgba(136,156,182,0.55);
      stroke-width: 0.6;
      pointer-events: none;
    }

    .dotTier1{
      fill: var(--dotTier1);
      stroke: var(--dotTier1Stroke);
      stroke-width: 1.2;
      filter: drop-shadow(0 2px 5px rgba(0,0,0,.35));
      cursor: default;
    }

    .dotOther{
      fill: var(--dotOther);
      stroke: var(--dotOtherStroke);
      stroke-width: 1.1;
      opacity: 0.85;
      filter: drop-shadow(0 1px 3px rgba(0,0,0,.25));
      cursor: default;
    }

    .label{
      font-size: 11px;
      fill: #000
      paint-order: stroke;
/*       stroke: rgba(11,15,20,0.85); */
      stroke-width: 0px;
      stroke-linejoin: round;
      pointer-events: none;
    }

    .tooltip{
      position:absolute;
      left: 12px;
      top: 12px;
      background: rgba(8,12,18,0.92);
      border: 1px solid rgba(159,176,197,0.25);
      padding: 10px 10px;
      border-radius: 10px;
      color: var(--text);
      font-size: 12px;
      max-width: 340px;
      display:none;
    }

    .tooltip .tTitle{ font-weight: 700; margin-bottom: 4px; }
    .tooltip .tBody{ color: var(--muted); line-height: 1.3; }

    .insetPR{
      position:absolute;
      right: 12px;
      bottom: 12px;
      width: 170px;
      height: 110px;
      border-radius: 12px;
      border: 1px solid rgba(159,176,197,0.25);
      background: rgba(0,0,0,0.15);
      padding: 10px;
      display:none;
    }

    .insetPR .prTitle{
      font-size: 12px;
      color: var(--muted);
      margin: 0 0 8px 0;
    }

    .insetPR .prDotRow{
      display:flex;
      align-items:center;
      gap:10px;
    }

    .insetPR .prDot{
      width: 12px;
      height: 12px;
      border-radius: 999px;
      background: var(--dotTier1);
      border: 1px solid rgba(0,0,0,.45);
      box-shadow: 0 0 0 2px rgba(255,210,74,.10);
    }

    .insetPR .prLabel{
      font-size: 12px;
      color: rgba(232,238,247,0.92);
      line-height: 1.25;
    }

    @media (max-width: 800px){
      header{ flex-direction:column; }
      .legendCard{ max-width: none; }
    }


img{
     border: darkgrey;
    border-width: 2px;
    border-style: solid;
    border-radius: 5px;
}

/* slider */

.slideWrap {
      max-width: 650px;
      margin: 0 auto;
      text-align: center;
      font-family: Arial, sans-serif;
    }

    .slideWrap img {
      width: 100%;
      display: block;
    }

    .credit {
      font-size: 12px;
      margin: -24px 0 14px;
    }

    .title {
      font-size: 22px;
      font-weight: bold;
      margin-bottom: 12px;
    }

    .desc {
    margin-left: 15px;
    margin-right: 15px;
    text-align: left;
    }

    .dots {
      margin-top: 16px;
    }

    .dot {
      display: inline-block;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: lightblue;
      margin: 0 4px;
      cursor: pointer;
    }

    .dot.active {
      background: #000;
    }

.nav {
  display: flex;
  justify-content: space-between;
  font-size: 32px;
  cursor: pointer;
  user-select: none;
  margin-top: -10px;
  padding: 0 10px;
}


/* slider 2*/

    .slideWrap{
      max-width:650px;
      margin:0 auto;
      text-align:center;
      font-family:Arial,sans-serif;
    }

    .photoStage{
      position:relative;
    }

    .photoStage img{
      width:100%;
      display:block;
    }

    .arrowBtn{
      position:absolute;
      top:50%;
      transform:translateY(-50%);
      width:44px;
      height:44px;
      border-radius:999px;
      background:rgba(0,0,0,0.55);
      border:2px solid rgba(255,255,255,0.9);
      color:#fff;
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:26px;
      line-height:1;
      cursor:pointer;
      user-select:none;
    }
    .arrowBtn.left{ left:10px; }
    .arrowBtn.right{ right:10px; }

    .credit{ font-size:12px; margin:6px 0 14px; }
    .title{ font-size:22px; font-weight:700; margin-bottom:12px; }
    .desc{ font-size:15px; line-height:1.4; }

    .dots{ margin-top:16px; }
    .dot{
      display:inline-block;
      width:8px; height:8px;
      border-radius:50%;
      margin:0 4px;
      cursor:pointer;
    }
    .dot.active{ background:#000; }





h2, .dm-sans-<uniquifier> {
  font-family: "DM Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}


#slideTitle, h1, .fraunces-headline {
  font-family: "Fraunces", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  line-height:1em;
  font-size:24px;
  letter-spacing: -.5px;


}


/* menu */

#menuBtn{
  position: sticky;
  top: 15px;
  left: 15px;
  font-size: 26px;
  cursor: pointer;
  z-index: 1001;
}

#menu{
  position: fixed;
  top: 0;
  left: 0;
  width: 260px;
  height: 100vh;
  background: #111;
  padding-top: 70px;
  transform: translateX(-260px);
  transition: transform 0.25s ease;
  z-index: 1000;
}

#menu a{
  display: block;
  padding: 14px 20px;
  color: #fff;
  text-decoration: none;
}

#menu a:hover{
  background: #222;
}

body.menuOpen #menu{
  transform: translateX(0);
}


#menuClose{
  position: absolute;
  top: 20px;
   right: 30px;
  font-size: 22px;
  color: #fff;
  cursor: pointer;
}



#menuOverlay{
  position: fixed;
  inset: 0;
  background: transparent;
  display: none;
  z-index: 999;
}

body.menuOpen #menuOverlay{
  display: block;
}

.logoText{
 
     font-family: 'DM Sans';
    /* font-style: italic; */
    font-weight: 400;
    font-size: xx-large;
    color: #000;
    /* letter-spacing: 0em; */
}


/* menu-icon */

.menu-icon span {
  display: block;
  width: 25px; /* Adjust width as needed */
  height: 2px; /* Adjust height to control "thinness" */
  background-color: #333; /* Icon color */
  margin: 4px 0; /* Adjust margin for spacing between bars */
  transition: 0.4s; /* Optional: adds smooth transition for animations */
}


body.menuOpen #menuBtn{
  display: none;
/*     opacity: 0.15; */

  
}