/* Austin Housing Notebook - Beez-era institutional module shell */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#f2f0ea;color:#1c1c1a;
  font-family:Verdana,Geneva,"DejaVu Sans",sans-serif}
.page{--rs:16px;font-size:var(--rs);line-height:1.65}
#size-normal:target ~ .page{--rs:16px}
#size-large:target ~ .page{--rs:18px}
#size-larger:target ~ .page{--rs:20px}
.sizemark{display:block;height:0;overflow:hidden}
img,svg{max-width:100%;height:auto}
a{color:#1f5c3d}
a:focus-visible,button:focus-visible{outline:2px solid #1f5c3d;outline-offset:2px}
a:focus{outline:2px solid #1f5c3d;outline-offset:2px}

.skip{position:absolute;left:-9999px;top:0;background:#1f5c3d;color:#fff;
  padding:8px 16px;z-index:5;text-decoration:none;font-size:14px}
.skip:focus{left:8px;top:8px}

.shell{max-width:1140px;margin:0 auto;padding:0 16px}

/* 1. identity and utility header */
.idhead{background:#fff;border-bottom:1px solid #c9c4b6}
.idhead .shell{display:flex;flex-wrap:wrap;align-items:flex-end;
  gap:8px 24px;padding-top:16px;padding-bottom:16px}
.wordmark{display:flex;align-items:center;gap:12px;text-decoration:none;color:#1c1c1a}
.wordmark img{width:44px;height:44px;flex:0 0 auto}
.wordmark .name{font-size:30px;font-weight:700;letter-spacing:.02em;line-height:1.1}
.wordmark .sub{display:block;font-size:13px;font-weight:400;color:#4a4a45;
  letter-spacing:0;margin-top:2px}
.utility{margin-left:auto;font-size:12px;letter-spacing:.06em;text-transform:uppercase;
  color:#4a4a45;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.utility .sizes{display:inline-flex;border:1px solid #c9c4b6}
.utility .sizes a{display:inline-block;padding:4px 10px;border-right:1px solid #c9c4b6;
  text-decoration:none;color:#1f5c3d;background:#f2f0ea;line-height:1}
.utility .sizes a:last-child{border-right:0}
.utility .sizes a.s1{font-size:11px}
.utility .sizes a.s2{font-size:13px}
.utility .sizes a.s3{font-size:15px}
.utility .idx{color:#1f5c3d}

/* 2. top menu tabs */
.tabstrip{background:#1f5c3d}
.tabstrip ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.tabstrip li{border-right:1px solid #3d7657}
.tabstrip a{display:block;padding:11px 14px;color:#fff;text-decoration:none;
  font-size:13px;font-weight:700;letter-spacing:.02em;border-bottom:4px solid transparent}
.tabstrip a:hover{background:#17462e}
.tabstrip a[aria-current="page"]{background:#17462e;border-bottom-color:#e6c14b}

/* 3. breadcrumb */
.crumb{background:#e9e6dd;border-bottom:1px solid #c9c4b6;font-size:13px;color:#4a4a45}
.crumb .shell{padding-top:7px;padding-bottom:7px}
.crumb .lab{text-transform:uppercase;letter-spacing:.06em;font-size:11px;margin-right:6px}
.crumb .sep{color:#8d887b;padding:0 6px}

/* body grid: rail then well */
.body{padding-top:28px;padding-bottom:40px}
.grid{display:block}
.rail{margin-bottom:28px}
.well{min-width:0}

/* modules */
.module{background:#fff;border:1px solid #c9c4b6;margin-bottom:20px}
.module > h2,.module > h3{margin:0;background:#1f5c3d;color:#fff;font-size:14px;
  font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:8px 12px}
.module .inner{padding:12px}
.module ol,.module ul{margin:0;padding-left:20px;font-size:14px;line-height:1.55}
.module li{margin-bottom:7px}
.module .grouplab{font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:#4a4a45;margin:12px 0 5px}
.module .grouplab:first-child{margin-top:0}
.module p{font-size:14px;margin:0 0 8px}

/* 5. leading article */
.lead{background:#fff;border:1px solid #c9c4b6;padding:20px;margin-bottom:24px}
.lead h2{margin:0 0 6px;font-size:30px;line-height:1.2}
.lead h2 a{text-decoration:none}
.meta{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#4a4a45;
  margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid #c9c4b6}
.prose{max-width:68ch}
.prose p{margin:0 0 14px}
.more{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.03em}

/* figures */
.figure{margin:18px 0;border:1px solid #c9c4b6;background:#f8f7f3;padding:12px}
.figure img{display:block;width:100%}
.figure figcaption{font-size:12px;color:#4a4a45;line-height:1.5;margin-top:8px;
  padding-top:8px;border-top:1px solid #c9c4b6}

/* 6. two-column intro excerpts */
.excerpts{margin-bottom:24px}
.excerpts > h2{margin:0 0 14px;font-size:18px;letter-spacing:.05em;text-transform:uppercase;
  background:#1f5c3d;color:#fff;padding:8px 12px}
.exlist{display:block}
.excerpt{background:#fff;border:1px solid #c9c4b6;padding:14px;margin-bottom:16px}
.excerpt h3{margin:0 0 4px;font-size:20px;line-height:1.25}
.excerpt h3 a{text-decoration:none}
.excerpt .meta{margin-bottom:9px;padding-bottom:6px}
.excerpt p{margin:0 0 10px;font-size:15px}

/* 7. resources rows */
.rows{list-style:none;margin:0;padding:0}
.rows li{border-bottom:1px solid #c9c4b6;padding:9px 0;font-size:15px}
.rows li:last-child{border-bottom:0}
.rows .rl{font-weight:700}
.rows .rd{display:block;font-size:13px;color:#4a4a45;margin-top:2px}

/* ledger line motif */
.ledger{border:1px solid #c9c4b6;background:#fff;margin:20px 0;max-width:68ch}
.ledger h3{margin:0;background:#1f5c3d;color:#fff;font-size:13px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;padding:7px 12px}
.ledger dl{margin:0;display:block}
.ledger .row{display:block;border-top:1px solid #c9c4b6;padding:10px 12px}
.ledger .row:first-child{border-top:0}
.ledger dt{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#4a4a45;
  margin:0 0 4px}
.ledger dd{margin:0;font-size:15px;line-height:1.55}

/* content pages */
h1{margin:0 0 6px;font-size:27px;line-height:1.18}
.stamp{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#4a4a45;
  margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #1f5c3d;max-width:68ch}
.sheet{background:#fff;border:1px solid #c9c4b6;padding:20px}
.sheet h2{font-size:20px;margin:26px 0 8px;line-height:1.25}
.sheet h3{font-size:17px;margin:20px 0 6px}
.sheet p,.sheet li{max-width:68ch}
.sheet ul,.sheet ol{padding-left:22px}
.sheet li{margin-bottom:8px}
.steps{list-style:none;counter-reset:st;padding:0;margin:18px 0}
.steps li{counter-increment:st;border-top:1px solid #c9c4b6;padding:14px 0 4px;
  max-width:68ch;margin:0}
.steps li::before{content:"Stage " counter(st);display:block;font-size:11px;
  letter-spacing:.06em;text-transform:uppercase;color:#1f5c3d;font-weight:700;margin-bottom:4px}
.steps h3{margin:0 0 6px;font-size:17px}
.steps p{margin:0 0 10px}
.terms{margin:18px 0 0}
.terms .t{border-top:1px solid #c9c4b6;padding:12px 0}
.terms dt{font-weight:700;font-size:16px;margin:0 0 4px}
.terms dd{margin:0;font-size:15px;max-width:68ch}
.related{border-top:2px solid #1f5c3d;margin-top:28px;padding-top:12px}
.related h2{font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px}
/* specificity guards: these must beat the generic .sheet h2/h3 rules above */
aside.ledger > h3{margin:0}
ol.steps > li > h3{margin:0 0 6px;font-size:17px}
section.related > h2{margin:0 0 8px;font-size:13px}
.related ul{list-style:none;margin:0;padding:0}
.related li{border-bottom:1px solid #c9c4b6;padding:7px 0;font-size:15px}
.back{display:inline-block;margin-top:14px;font-size:13px;font-weight:700}

/* 8. module footer */
.foot{background:#fff;border-top:2px solid #1f5c3d;padding:26px 0 30px}
.footcols{display:block}
.footcol h2{font-size:12px;letter-spacing:.06em;text-transform:uppercase;
  margin:0 0 8px;padding-bottom:5px;border-bottom:1px solid #c9c4b6}
.footcol ul{list-style:none;margin:0 0 22px;padding:0}
.footcol li{font-size:14px;margin-bottom:6px}
.footcol p{font-size:14px;margin:0 0 10px;max-width:60ch}
.footrule{border-top:1px solid #c9c4b6;margin-top:8px;padding-top:12px;font-size:13px;
  color:#4a4a45}

@media (min-width:760px){
  .exlist{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
  .excerpt{margin-bottom:20px}
  .footcols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 28px}
  .ledger .row{display:grid;grid-template-columns:190px 1fr;gap:0 16px;align-items:baseline}
  .ledger dt{margin:0}
  h1{font-size:34px}
}
@media (min-width:960px){
  .grid{display:grid;grid-template-columns:240px 1fr;gap:0 32px;align-items:start}
  .rail{margin-bottom:0}
  h1{font-size:40px}
}
