:root{
  --parch:#EDE7DF;
  --parch-2:#E4DCD1;
  --paper:#F5F1EA;
  --esp:#33261F;
  --esp-soft:#5A4A40;
  --teal:#3F6E6C;
  --copper:#A5643B;
  --rule:#CFC5B6;
  --serif: Iowan Old Style, Palatino Linotype, Palatino, Georgia, "Times New Roman", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--parch);
  color:var(--esp);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.72;
  overflow-x:hidden;
}

.wrap{max-width:1120px;margin:0 auto;padding:0 28px;}
.narrow{max-width:640px;}
.mid{max-width:820px;}

a{color:var(--esp);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
a:hover{color:var(--teal);}
a:focus-visible,button:focus-visible{outline:2px solid var(--copper);outline-offset:3px;}

h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;color:var(--esp);}
h1{font-size:2.05rem;line-height:1.24;margin:0 0 1.1rem;}
h2{font-size:1.42rem;line-height:1.3;margin:0 0 .8rem;}
h3{font-size:1.08rem;margin:1.9rem 0 .5rem;}
p{margin:0 0 1.05rem;}

.label{
  font-family:var(--sans);font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--esp-soft);
}

/* ---------- header ---------- */
.site-head{border-bottom:1px solid var(--rule);background:var(--parch);}
.head-in{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:14px 26px;
  padding:20px 28px;max-width:1120px;margin:0 auto;
}
.brand{
  font-family:var(--serif);font-size:1.2rem;letter-spacing:.02em;
  text-decoration:none;margin-right:auto;
}
.brand span{display:block;font-family:var(--sans);font-size:.66rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--esp-soft);}
.site-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px;margin:0;padding:0;}
.site-nav a{font-size:.86rem;text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px;}
.site-nav a:hover,.site-nav a[aria-current="page"]{border-bottom-color:var(--copper);}

/* ---------- hero ---------- */
.hero{padding:74px 0 20px;}
.hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:34px;}
.hero-text{max-width:520px;}
.hero-text p.lead{font-size:1.06rem;color:var(--esp-soft);margin-top:1.6rem;}
.hero-meta{margin-top:2.6rem;padding-top:14px;border-top:1px solid var(--rule);}
.hero-fig{grid-column:2;align-self:end;margin-top:56px;}
.hero-fig img{display:block;width:100%;height:auto;border:1px solid var(--rule);}
figcaption{font-size:.78rem;color:var(--esp-soft);margin-top:10px;line-height:1.5;}

.waveline{display:flex;align-items:flex-end;gap:3px;height:26px;margin:0 0 12px;}
.waveline i{display:block;width:3px;background:var(--teal);}
.waveline i:nth-child(3n){background:var(--copper);}
.waveline i:nth-child(1){height:30%}.waveline i:nth-child(2){height:62%}
.waveline i:nth-child(3){height:44%}.waveline i:nth-child(4){height:88%}
.waveline i:nth-child(5){height:36%}.waveline i:nth-child(6){height:70%}
.waveline i:nth-child(7){height:52%}.waveline i:nth-child(8){height:96%}
.waveline i:nth-child(9){height:40%}.waveline i:nth-child(10){height:64%}
.waveline i:nth-child(11){height:28%}.waveline i:nth-child(12){height:78%}
.waveline i:nth-child(13){height:46%}.waveline i:nth-child(14){height:58%}
.waveline i:nth-child(15){height:34%}

/* ---------- sections ---------- */
.rule{border:0;border-top:1px solid var(--rule);margin:0;}
.sec{padding:52px 0;border-top:1px solid var(--rule);}
.sec-grid{display:grid;grid-template-columns:74px minmax(0,1fr);gap:26px;}
.idx{font-family:var(--serif);font-size:.95rem;color:var(--copper);padding-top:6px;}
.sec-body{max-width:660px;}
.sec-body.wide{max-width:900px;}

.cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 40px;margin:1.4rem 0 0;}
.cols2 dt{font-weight:600;font-size:.9rem;}
.cols2 dd{margin:0 0 .6rem;font-size:.94rem;color:var(--esp-soft);}

ul.plain,ol.plain{padding-left:1.15rem;margin:0 0 1.1rem;}
ul.plain li,ol.plain li{margin-bottom:.5rem;}

.inset{
  float:right;width:44%;max-width:380px;margin:6px -60px 22px 40px;
}
.inset img{display:block;width:100%;height:auto;border:1px solid var(--rule);}
.clearfix::after{content:"";display:block;clear:both;}

.checklist{list-style:none;padding:0;margin:1.2rem 0 0;
  border-top:1px solid var(--rule);}
.checklist li{
  padding:12px 0 12px 30px;border-bottom:1px solid var(--rule);position:relative;
}
.checklist li::before{
  content:"";position:absolute;left:0;top:19px;width:12px;height:12px;
  border:1px solid var(--teal);
}

.toc{list-style:none;padding:0;margin:1.2rem 0 0;
  columns:2;column-gap:44px;}
.toc li{margin-bottom:.45rem;font-size:.93rem;break-inside:avoid;}
.toc span{color:var(--copper);font-family:var(--serif);margin-right:8px;}

.note{background:var(--paper);border-left:2px solid var(--teal);
  padding:18px 22px;margin:1.6rem 0 0;font-size:.95rem;}

/* about layout */
.about-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:40px;padding:70px 0 20px;}
.about-grid h1{font-size:2.4rem;}
.about-col{max-width:600px;}

.legal{padding:60px 0 20px;max-width:720px;}
.legal h2{margin-top:2.4rem;}

/* ---------- footer ---------- */
.site-foot{margin-top:60px;border-top:1px solid var(--rule);background:var(--parch-2);}
.foot-in{
  max-width:1120px;margin:0 auto;padding:52px 28px 60px;
  display:flex;flex-wrap:wrap;gap:34px;justify-content:space-between;
}
.foot-left{max-width:380px;}
.foot-left .brand{font-size:1.3rem;}
.foot-left p{font-size:.86rem;color:var(--esp-soft);margin-top:.8rem;}
.foot-right{text-align:right;margin-left:auto;}
.foot-right ul{list-style:none;margin:.9rem 0 0;padding:0;}
.foot-right li{margin-bottom:.4rem;}
.foot-right a{font-size:.88rem;text-decoration:none;border-bottom:1px solid var(--rule);}
.foot-right a:hover{border-bottom-color:var(--copper);}
.copy{border-top:1px solid var(--rule);font-size:.78rem;color:var(--esp-soft);
  padding:16px 28px 26px;max-width:1120px;margin:0 auto;}

.skip{position:absolute;left:-9999px;}
.skip:focus{position:static;display:inline-block;margin:10px 28px;}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:26px;}
  .hero-fig{grid-column:1;margin-top:12px;}
  .about-grid{grid-template-columns:1fr;gap:16px;padding-top:52px;}
  .inset{float:none;width:100%;max-width:none;margin:20px 0;}
}
@media (max-width:640px){
  body{font-size:16px;}
  h1{font-size:1.72rem;}
  .about-grid h1{font-size:1.9rem;}
  .sec{padding:40px 0;}
  .sec-grid{grid-template-columns:1fr;gap:8px;}
  .cols2{grid-template-columns:1fr;}
  .toc{columns:1;}
  .foot-right{text-align:left;margin-left:0;}
  .head-in{padding:16px 20px;}
  .wrap{padding:0 20px;}
  .foot-in,.copy{padding-left:20px;padding-right:20px;}
}
