/* JapakGIS shared typography system.
 * Loaded after legacy style.css so all public pages inherit one readable hierarchy.
 * Component-specific layout, icon, map and homepage hero sizing remain untouched.
 */
.jgis-site-v2{
  --jgis-font-sans:"Montserrat","Roboto",Arial,sans-serif;
  --jgis-type-ink:#132033;
  --jgis-type-muted:#5d6878;
  --jgis-type-link:#0878f5;
  --jgis-type-body:15px;
  --jgis-type-small:13px;
  --jgis-type-h1:clamp(34px,4vw,48px);
  --jgis-type-h2:clamp(26px,3vw,34px);
  --jgis-type-h3:22px;
  --jgis-type-h4:18px;
  color:var(--jgis-type-ink);
  font-family:var(--jgis-font-sans);
  font-size:var(--jgis-type-body);
  font-weight:400;
  line-height:1.65;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

.jgis-site-v2 button,
.jgis-site-v2 input,
.jgis-site-v2 select,
.jgis-site-v2 textarea,
.jgis-site-v2 table{
  font:inherit;
}

.jgis-site-v2 h1,
.jgis-site-v2 h2,
.jgis-site-v2 h3,
.jgis-site-v2 h4,
.jgis-site-v2 h5,
.jgis-site-v2 h6{
  color:var(--jgis-type-ink);
  font-family:var(--jgis-font-sans);
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.22;
}

.jgis-site-v2 h1{font-size:var(--jgis-type-h1);margin:0 0 .55em}
.jgis-site-v2 h2{font-size:var(--jgis-type-h2);margin:0 0 .6em}
.jgis-site-v2 h3{font-size:var(--jgis-type-h3);margin:0 0 .65em}
.jgis-site-v2 h4{font-size:var(--jgis-type-h4);margin:0 0 .7em}
.jgis-site-v2 h5{font-size:16px;margin:0 0 .7em}
.jgis-site-v2 h6{font-size:14px;margin:0 0 .7em}

.jgis-site-v2 p,
.jgis-site-v2 li,
.jgis-site-v2 dd,
.jgis-site-v2 dt,
.jgis-site-v2 label,
.jgis-site-v2 td,
.jgis-site-v2 th,
.jgis-site-v2 blockquote{
  font-family:var(--jgis-font-sans);
}

.jgis-site-v2 p{font-size:var(--jgis-type-body);line-height:1.7}
.jgis-site-v2 small,
.jgis-site-v2 .small,
.jgis-site-v2 figcaption,
.jgis-site-v2 .help-block,
.jgis-site-v2 .form-text{font-size:var(--jgis-type-small);line-height:1.5}
.jgis-site-v2 a{font-family:var(--jgis-font-sans)}
.jgis-site-v2 main a,
.jgis-site-v2 #content a{color:var(--jgis-type-link)}
.jgis-site-v2 strong,
.jgis-site-v2 b{font-weight:700}

.jgis-site-v2 .form-control,
.jgis-site-v2 .form-select,
.jgis-site-v2 input,
.jgis-site-v2 select,
.jgis-site-v2 textarea{
  font-size:14px;
  line-height:1.5;
}
.jgis-site-v2 .btn,
.jgis-site-v2 button,
.jgis-site-v2 input[type="button"],
.jgis-site-v2 input[type="submit"]{
  font-family:var(--jgis-font-sans);
  font-size:14px;
  font-weight:600;
  letter-spacing:0;
}
.jgis-site-v2 table{font-size:14px;line-height:1.5}
.jgis-site-v2 th{font-weight:700}

/* Preserve the approved homepage component scale while sharing the same family. */
.jgis-site-v2 .jgis-home-v2{font-family:var(--jgis-font-sans)}
.jgis-site-v2 .jgis-home-v2 h1,
.jgis-site-v2 .jgis-home-v2 h2,
.jgis-site-v2 .jgis-home-v2 h3,
.jgis-site-v2 .jgis-home-v2 h4,
.jgis-site-v2 .jgis-home-v2 h5,
.jgis-site-v2 .jgis-home-v2 h6,
.jgis-site-v2 .jgis-home-v2 p{margin-top:0}

/* Hero text is intentionally light on a dark image and must outrank global type. */
.jgis-site-v2 .jgis-home-v2 .jgis-hero h1{
  max-width:650px;
  margin:0 0 20px;
  color:#fff;
  font-size:55px;
  font-weight:800;
  line-height:1.03;
}
.jgis-site-v2 .jgis-home-v2 .jgis-hero h1 span{color:#70bbff}
.jgis-site-v2 .jgis-home-v2 .jgis-hero p{
  max-width:650px;
  margin:0;
  color:#e6edf6;
  font-size:20px;
  line-height:1.5;
}
.jgis-site-v2 .jgis-home-v2 .jgis-hero .jgis-btn-primary,
.jgis-site-v2 .jgis-home-v2 .jgis-hero .jgis-btn-primary:hover{
  color:#fff;
}
.jgis-site-v2 .jgis-home-v2 .jgis-hero .jgis-btn-outline,
.jgis-site-v2 .jgis-home-v2 .jgis-hero .jgis-btn-outline:hover{
  color:#fff;
}

@media(max-width:760px){
  .jgis-site-v2{
    --jgis-type-body:14px;
    --jgis-type-h3:20px;
    --jgis-type-h4:17px;
    line-height:1.6;
  }
  .jgis-site-v2 p{line-height:1.65}
  .jgis-site-v2 .jgis-home-v2 .jgis-hero h1{font-size:39px}
  .jgis-site-v2 .jgis-home-v2 .jgis-hero p{font-size:16px}
}
