:root {
  --ink:#17242e;
  --muted:#5d6973;
  --brand:hsl(306 58% 38%);
  --soft:hsl(306 24% 96%);
  --line:#d9e0e5;
  --paper:#fff
}

html {
  font-size:16px
}

body {
  margin:0;
  color:#151a20;
  background:#fff;
  font-family:Georgia,serif;
  line-height:1.68
}

* {
  box-sizing:border-box
}

a {
  color:inherit
}

img {
  max-width:100%;
  height:auto
}

.wrap {
  width:min(1080px,92vw);
  margin-inline:auto
}

.offscreen {
  clip-path:inset(100%);
  position:absolute
}

h1,h2,h3,p {
  margin-top:0
}

p {
  color:var(--muted)
}

h1 {
  letter-spacing:-.035em
}

.irs-line {
  font-weight:700;
  color:var(--ink)
}

.contact-form {
  display:grid;
  gap:13px
}

.contact-form label {
  display:grid;
  gap:5px
}

.contact-form input,.contact-form textarea {
  font:inherit;
  padding:11px;
  border:1px solid var(--line);
  background:#fff
}

.contact-form button {
  border:0;
  background:var(--brand);
  color:#fff;
  padding:12px 18px;
  font-weight:700
}

.site-header img,.topbar img,.framehead img,.utilityhead img,.leanhead img {
  width:100px;
  height:45px;
  object-fit:contain
}

.foot,.foot-ledger,.foot-band,.foot-grid,.foot-note {
  margin-top:60px
}

.map-wide iframe,.dossier-map iframe,.center-map iframe,.editorial-map iframe,.offset-contact iframe,.contact-band-map iframe,.rail-map iframe,.c-map iframe,.summit-map iframe,.registry-contact iframe,.beacon-map iframe,.gallery-contact iframe,.twin-contact iframe,.compact-map iframe,.frame-map iframe,.contact-strip-map iframe,.deck-contact iframe,.chapter-map iframe,.sticky-map iframe,.profile-contact iframe {
  width:100%;
  height:360px;
  border:0
}

.framehead {
  padding:18px 0;
  border-bottom:1px solid var(--line)
}

.framehead-top {
  display:flex;
  justify-content:space-between
}

.nav-box nav {
  display:flex;
  gap:24px
}

.chapterhero {
  padding:60px 0
}

.chapter {
  max-width:850px
}

.chapter-no {
  display:block;
  color:var(--brand);
  border-bottom:1px solid var(--line);
  padding-bottom:8px
}

.chapter h1 {
  font-size:4.8rem;
  line-height:1
}

.chapter-lead {
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:35px
}

.chapter-lead img {
  height:360px;
  object-fit:cover
}

.section {
  padding:60px 0
}

.chapter-services>span,.chapter-note span,.chapter-about>span,.chapter-contact>span {
  display:block;
  color:var(--brand);
  border-top:1px solid var(--line);
  padding-top:12px
}

.chapter-services>div .service-row {
  display:grid;
  grid-template-columns:80px 1fr;
  padding:20px 0;
  border-top:1px solid var(--line)
}

.chapter-note {
  padding-bottom:60px
}

.chapter-about,.chapter-gov,.chapter-contact {
  padding:60px 0;
  max-width:850px
}

.chapter-about-lead {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:35px
}

.chapter-about img {
  height:320px;
  object-fit:cover
}

.chapter-gov section {
  display:grid;
  grid-template-columns:220px 1fr;
  padding:20px 0;
  border-top:1px solid var(--line)
}

.chapter-contact-grid {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:35px
}

.chapter-map {
  margin-top:30px
}

.foot-band {
  padding:30px 0;
  border-top:1px solid var(--line)
}

.foot-band .wrap {
  display:flex;
  justify-content:space-between;
  gap:30px
}

.c07a73811ac {
  contain:paint
}

.ccfe87fea3c {
  overflow:hidden
}

.c764388be18 {
  isolation:isolate
}

.cd0a95b83e3 {
  position:relative;
  z-index:1
}

.cb1e87b02ae {
  display:block
}

@media(max-width:780px) {
  .editorial header,.editorial-lead,.editorial-services,.about-editorial,.editorial-contact {
    grid-template-columns:1fr
  }
  .editorial h1 {
    font-size:3.2rem
  }
  .gov-editorial section {
    grid-template-columns:1fr
  }
  .foot-band .wrap {
    display:block
  }
}

@media(max-width:816px) {
  body {
    --family-break:18
  }
  .wrap {
    padding-left:11px;
    padding-right:11px
  }
}

.fp18 {
  padding:50px 0
}

.fp18 .chapter-no {
  display:block;
  border-bottom:1px solid var(--line);
  padding-bottom:8px;
  color:var(--brand)
}

.fp18-body {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:45px
}

.fp18-body dl {
  margin:0
}

.fp18-body dd {
  margin:0 0 14px
}

@media(max-width:778px) {
  .family-proof .wrap,.family-proof>div,.fp18-row,.fp18-matrix {
    grid-template-columns:1fr!important
  }
}

.chapter-appendix {
  padding:50px 0;
  background:var(--soft)
}

.chapter-appendix header {
  display:grid;
  grid-template-columns:160px 1fr;
  border-bottom:1px solid var(--line)
}

.chapter-appendix-grid {
  display:grid;
  grid-template-columns:1fr 1fr .7fr;
  gap:20px;
  margin-top:20px
}

.chapter-appendix-grid article,.chapter-appendix-grid aside {
  padding:20px;
  background:#fff
}

.chapter-appendix-grid ul {
  margin:8px 0 0;
  padding-left:18px
}

/* V4 chrome integration: utility header + grid footer */
.utilityhead {
  background:#fff
}

.utility-strip {
  background:#1c2c28;
  color:#fff;
  padding:7px 0;
  font-size:.85rem
}

.utility-main {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-block:17px;
  gap:24px
}

.identity {
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none
}

.identity img {
  width:100px;
  height:45px;
  object-fit:contain
}

.nav-pills {
  display:flex;
  gap:8px;
  flex-wrap:wrap
}

.nav-pills a {
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  text-decoration:none
}

.foot-grid {
  background:#1c2c28;
  color:#fff;
  padding:35px 0
}

.foot-grid .wrap {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px
}

.foot-grid article {
  padding-right:15px;
  border-right:1px solid #ffffff30
}

.foot-grid span {
  display:block;
  color:#b8c4c0;
  font-size:.78rem
}

.foot-grid strong {
  display:block;
  margin-top:6px
}

@media(max-width:860px) {
  .utility-main {
    align-items:flex-start;
    flex-direction:column
  }
  .foot-grid .wrap {
    grid-template-columns:1fr 1fr
  }
}

.page-intro {
  padding:54px 0 18px
}

.page-intro h1 {
  margin-bottom:12px
}

.contact-info {
  display:grid;
  gap:8px;
  align-content:start
}

.about-dossier {
  display:block
}

.hero {
  position:relative
}
