.public-site-header{
  position:sticky;
  top:0;
  z-index:90;
  width:min(calc(100% - 64px),1240px);
  min-height:74px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(22px,2.4vw,38px);
  margin:0 auto;
  padding:12px 0;
  border-bottom:1px solid rgba(23,35,30,.12);
  background:rgba(245,241,232,.92);
  color:#17231e;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  backdrop-filter:blur(16px);
}
.public-site-brand{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  color:inherit;
  font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  font-size:27px;
  font-weight:600;
  line-height:1;
  letter-spacing:-.035em;
  text-decoration:none;
}
.public-site-nav{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(16px,1.65vw,26px);
  white-space:nowrap;
}
.public-site-nav>a,
.public-site-group>summary,
.public-mobile-menu nav a{
  position:relative;
  color:#465048;
  font-size:12.5px;
  font-weight:650;
  line-height:1.25;
  text-decoration:none;
}
.public-site-nav>a,
.public-site-group>summary{
  min-height:44px;
  display:inline-flex;
  align-items:center;
}
.public-site-nav>a::after,
.public-site-group>summary::before{
  position:absolute;
  right:0;
  bottom:4px;
  left:0;
  height:1.5px;
  background:#285947;
  content:"";
  opacity:0;
  transform:scaleX(.7);
  transition:opacity 160ms ease,transform 160ms ease;
}
.public-site-nav>a:hover,
.public-site-nav>a[aria-current],
.public-site-group>summary:hover,
.public-site-group>summary[aria-current],
.public-site-group[open]>summary,
.public-mobile-menu nav a:hover,
.public-mobile-menu nav a[aria-current]{color:#214838}
.public-site-nav>a:hover::after,
.public-site-nav>a[aria-current]::after,
.public-site-group>summary:hover::before,
.public-site-group>summary[aria-current]::before,
.public-site-group[open]>summary::before{
  opacity:1;
  transform:scaleX(1);
}
.public-site-group{position:relative}
.public-site-group>summary{
  gap:7px;
  cursor:pointer;
  list-style:none;
}
.public-site-group>summary::-webkit-details-marker{display:none}
.public-site-group>summary::after{
  width:6px;
  height:6px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  content:"";
  transform:translateY(-2px) rotate(45deg);
  transition:transform 160ms ease;
}
.public-site-group[open]>summary::after{
  transform:translateY(2px) rotate(225deg);
}
.public-site-group-panel{
  position:absolute;
  top:calc(100% + 6px);
  right:-18px;
  width:190px;
  display:grid;
  padding:9px 16px 11px;
  border:1px solid rgba(23,35,30,.14);
  border-radius:4px;
  background:#f8f5ee;
  box-shadow:0 20px 48px rgba(23,35,30,.14);
}
.public-site-group-panel a{
  min-height:44px;
  display:flex;
  align-items:center;
  border-bottom:1px solid rgba(23,35,30,.1);
  color:#38463f;
  font-size:13px;
  font-weight:650;
  text-decoration:none;
}
.public-site-group-panel a:last-child{border-bottom:0}
.public-site-group-panel a:hover,
.public-site-group-panel a[aria-current]{color:#214838}
.public-site-cta{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 19px;
  border:1px solid #214838;
  border-radius:999px;
  background:#214838;
  color:#fffdf8;
  font-size:12.5px;
  font-weight:750;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  transition:background 160ms ease,border-color 160ms ease,opacity 160ms ease,transform 160ms ease;
}
.public-site-cta:hover{border-color:#315c4a;background:#315c4a}
.public-site-cta:active{transform:translateY(1px)}
.public-mobile-menu{display:none}
.public-site-header :is(a,summary):focus-visible{
  outline:2px solid #214838;
  outline-offset:3px;
}
.public-site-header--landing{
  position:fixed;
  right:0;
  left:0;
  width:auto;
  max-width:none;
  padding-right:46px;
  padding-left:46px;
  border-bottom-color:rgba(23,35,30,.09);
  background:rgba(244,241,235,.83);
}
.public-site-header[data-cta-visibility="after-hero"]:not(.public-site-header--cta-visible) .public-site-cta{
  display:none;
}
body[data-confirmed-view]:not([data-confirmed-view="landing"])>.public-site-header--landing{
  display:none;
}
body[data-confirmed-view="landing"]:has(#landing[data-step="intro"])>.bar.site-header{
  display:none!important;
}

.public-footer{
  width:100%;
  margin:0;
  padding:42px max(32px,calc((100vw - 1240px)/2)) 26px;
  border-top:1px solid rgba(23,35,30,.14);
  background:#f4f1eb;
  color:#4f5a54;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:12px;
  line-height:1.55;
}
.public-footer-inner{
  width:100%;
  max-width:1240px;
  display:grid;
  grid-template-columns:minmax(250px,.9fr) minmax(620px,1.65fr);
  gap:36px clamp(48px,5vw,82px);
  margin:0 auto;
}
.public-footer-brand{display:block}
.public-footer-wordmark{
  display:inline-block;
  color:#17231e;
  font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  font-size:26px;
  font-weight:600;
  line-height:1;
  letter-spacing:-.035em;
  text-decoration:none;
}
.public-footer-tagline{
  margin:13px 0 20px!important;
  color:#5f655f;
  font-size:13px;
}
.public-footer address{
  display:grid;
  gap:3px;
  color:#5f655f;
  font-style:normal;
}
.public-footer address strong{
  color:#46534c;
  font-size:10.5px;
  letter-spacing:.09em;
}
.public-footer address a{
  width:max-content;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  color:#46534c;
  text-underline-offset:3px;
}
.public-footer .public-footer-directory{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:34px;
  margin:0;
}
.public-footer-group{display:block}
.public-footer-group h2{
  margin:0 0 12px;
  color:#1d2c25;
  font-family:inherit;
  font-size:10.5px;
  font-weight:750;
  line-height:1.3;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.public-footer-group a{
  min-height:44px;
  display:flex;
  align-items:center;
  color:#5a655f;
  font-size:12px;
  line-height:1.35;
  text-decoration:none;
}
.public-footer-group a:hover{color:#214838;text-decoration:underline;text-underline-offset:4px}
.public-footer-bottom{
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding-top:18px;
  border-top:1px solid rgba(23,35,30,.12);
  color:#5f655f;
  font-size:11.5px;
}
.public-footer-bottom p{margin:0}
.public-footer a:focus-visible{
  outline:2px solid #214838;
  outline-offset:3px;
}

.landing-footer{
  width:100%;
  display:none;
  margin:0;
  padding:22px max(32px,calc((100vw - 1240px)/2)) 20px;
  border-top:1px solid rgba(23,35,30,.14);
  background:#f4f1eb;
  color:#4f5a54;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:12px;
  line-height:1.5;
}
body[data-confirmed-view="landing"]>.landing-footer{display:block}
.landing-footer-inner{
  width:100%;
  max-width:1240px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px 40px;
  margin:0 auto;
}
.landing-footer p{margin:0}
.landing-footer-identity{
  display:flex;
  align-items:center;
  gap:8px 16px;
  color:#5f655f;
  white-space:nowrap;
}
.landing-footer-identity strong{
  color:#26362e;
  font-size:11px;
  letter-spacing:.07em;
}
.landing-footer-links{
  display:grid;
  grid-template-columns:repeat(4,auto);
  gap:0 22px;
}
.landing-footer-links a{
  min-height:44px;
  display:flex;
  align-items:center;
  color:#4f5a54;
  font-weight:600;
  text-decoration:none;
}
.landing-footer-links a:hover{
  color:#214838;
  text-decoration:underline;
  text-underline-offset:4px;
}
.landing-footer-note{
  grid-column:1/-1;
  padding-top:13px;
  border-top:1px solid rgba(23,35,30,.12);
  color:#5f655f;
  font-size:11.5px;
}
.landing-footer a:focus-visible{
  outline:2px solid #214838;
  outline-offset:3px;
}

@media (max-width:1040px){
  .public-footer{padding:40px 28px 26px}
  .public-footer-inner{
    grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr);
    gap:42px;
  }
  .public-footer .public-footer-directory{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px 42px;
  }
}

@media (max-width:900px){
  .public-site-header{
    width:100%;
    min-height:68px;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:12px;
    padding:10px 20px;
  }
  .public-site-header--landing{padding-right:20px;padding-left:20px}
  .public-site-brand{font-size:25px}
  .public-site-nav{display:none}
  .public-site-cta{
    grid-column:2;
    min-height:44px;
    justify-self:end;
    padding:0 16px;
    font-size:12px;
  }
  .public-mobile-menu{
    position:relative;
    grid-column:3;
    display:block;
    justify-self:end;
  }
  .public-mobile-menu summary{
    min-width:57px;
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    color:#29342f;
    cursor:pointer;
    font-size:12px;
    font-weight:700;
    list-style:none;
  }
  .public-mobile-menu summary::-webkit-details-marker{display:none}
  .public-menu-icon{
    position:relative;
    width:16px;
    height:12px;
    display:block;
  }
  .public-menu-icon i{
    position:absolute;
    right:0;
    width:16px;
    height:1.5px;
    display:block;
    background:#214838;
    transition:top 160ms ease,transform 160ms ease;
  }
  .public-menu-icon i:first-child{top:2px}
  .public-menu-icon i:last-child{top:9px}
  .public-mobile-menu[open] .public-menu-icon i:first-child{top:6px;transform:rotate(45deg)}
  .public-mobile-menu[open] .public-menu-icon i:last-child{top:6px;transform:rotate(-45deg)}
  .public-mobile-menu nav{
    position:absolute;
    top:calc(100% + 10px);
    right:0;
    width:min(320px,calc(100vw - 40px));
    display:grid;
    padding:12px 18px 16px;
    border:1px solid rgba(23,35,30,.16);
    border-radius:4px;
    background:#f8f5ee;
    box-shadow:0 22px 60px rgba(23,35,30,.16);
  }
  .public-mobile-menu nav a{
    min-height:48px;
    display:flex;
    align-items:center;
    border-bottom:1px solid rgba(23,35,30,.12);
    font-size:14px;
  }
  .public-mobile-menu nav a:last-child{border-bottom:0}
}

@media (max-width:700px){
  .public-footer{padding:32px 20px 22px}
  .public-footer-inner{display:block}
  .public-footer-brand{padding-bottom:24px}
  .public-footer-tagline{margin-bottom:18px!important}
  .public-footer address a{min-height:44px}
  .public-footer .public-footer-directory{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px 22px;
    padding-top:24px;
    border-top:1px solid rgba(23,35,30,.12);
  }
  .public-footer-group h2{margin-bottom:7px}
  .public-footer-group a{min-height:44px}
  .public-footer-bottom{
    display:block;
    margin-top:24px;
    padding-top:16px;
  }
  .public-footer-bottom p+p{margin-top:5px}
  .landing-footer{padding:20px}
  .landing-footer-inner{
    grid-template-columns:1fr;
    gap:12px;
  }
  .landing-footer-identity{
    display:grid;
    grid-template-columns:1fr auto;
    gap:2px 14px;
    white-space:normal;
  }
  .landing-footer-identity strong{grid-column:1/-1}
  .landing-footer-links{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 18px;
    padding-top:8px;
    border-top:1px solid rgba(23,35,30,.12);
  }
  .landing-footer-note{
    grid-column:auto;
    padding-top:11px;
  }
}

@media (max-width:359px){
  .public-site-header{gap:8px;padding-right:16px;padding-left:16px}
  .public-site-header--landing{padding-right:16px;padding-left:16px}
  .public-site-cta{padding:0 12px;font-size:11.5px}
  .public-mobile-menu summary{min-width:52px;gap:6px}
}

@media (prefers-reduced-motion:reduce){
  .public-site-header *{transition:none!important}
}
