:root{
  --paper:#f5f4ec;
  --ink:#203d35;
  --muted:#53635b;
  --line:#cdd2c4;
  --forest:#183e35;
  --lime:#d9e9a7;
  --bs-body-font-family:Inter,sans-serif;
  --bs-body-color:var(--ink);
  --bs-body-bg:var(--paper);
  --bs-border-color:var(--line)}

html{
  scroll-behavior:smooth;
  scroll-padding-top:32px;
  scrollbar-color:#889b7d var(--paper)}
body{
  margin:0;
  font-size:16px;
  line-height:1.7}
::selection{
  background:var(--lime);
  color:var(--forest)}
a{
  color:inherit;
  text-underline-offset:4px}
button,input,select,textarea{
  font:inherit}
input,textarea{
  caret-color:var(--forest)}
:focus-visible{
  outline:3px solid #a0512e;
  outline-offset:5px}
svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round}
h1,h2{
  font-family:Fraunces,Georgia,serif;
  font-weight:400;
  letter-spacing:-.035em;
  line-height:1.07;
  text-wrap:balance}
h1 em,h2 em{
  font-style:normal;
  color:#658049}
h3{
  font-family:'Bricolage Grotesque',sans-serif;
  font-weight:600;
  font-size:1.35rem;
  letter-spacing:-.02em;
  line-height:1.25}
p{
  max-width:65ch}
h1{
  font-size:clamp(3.3rem,5.7vw,5.8rem);
  margin:0 0 28px}
h2{
  font-size:clamp(2.35rem,4vw,4rem);
  margin:0 0 28px}
.page-width{
  max-width:1440px;
  padding-left:clamp(22px,4.4vw,72px);
  padding-right:clamp(22px,4.4vw,72px)}
.section-space{
  padding-top:110px;
  padding-bottom:110px}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  min-height:50px;
  padding:14px 22px;
  border-radius:6px;
  font-weight:600;
  font-size:.9rem;
  text-decoration:none;
  line-height:1.4;
  transition:background-color .16s ease,color .16s ease}
.btn-primary{
  --bs-btn-bg:var(--forest);
  --bs-btn-border-color:var(--forest);
  --bs-btn-color:var(--paper);
  --bs-btn-hover-bg:#2e5848;
  --bs-btn-hover-border-color:#2e5848;
  --bs-btn-active-bg:#102d25;
  --bs-btn-active-border-color:#102d25;
  --bs-btn-disabled-bg:#53685e;
  --bs-btn-disabled-border-color:#53685e}
.btn:focus-visible{
  outline:3px solid #a0512e;
  outline-offset:5px;
  box-shadow:none}
.skip-link{
  position:fixed;
  left:20px;
  top:-100px;
  background:var(--forest);
  color:white;
  padding:12px;
  z-index:5}
.skip-link:focus{
  top:10px}
.masthead{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  min-height:100px;
  border-bottom:1px solid var(--line)}
.brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:1.35rem;
  white-space:nowrap}
.brand strong{
  font-weight:600}
.masthead nav{
  display:flex;
  align-items:center;
  gap:32px}
.desktop-link{
  font-size:.85rem;
  text-decoration:none}
.desktop-link:hover{
  text-decoration:underline}
.nav-cta{
  min-height:44px;
  padding:10px 18px;
  font-size:.82rem}
.hero{
  padding-top:62px;
  padding-bottom:72px}
.hero .lead{
  font-size:1.4rem;
  line-height:1.45;
  max-width:26ch;
  font-weight:500;
  margin:0 0 17px}
.hero-description{
  color:var(--muted);
  max-width:44ch;
  margin-bottom:28px}
.hero-promise{
  margin:19px 0 0;
  font-size:.82rem;
  color:var(--muted)}
.credential-stage{
  position:relative;
  background:#e4e8d7;
  border-radius:16px;
  padding:23px 30px 28px;
  margin:0;
  isolation:isolate}
.stage-topline{
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:.7rem;
  color:#485d47;
  margin-bottom:22px}
.membership-card{
  background:var(--forest);
  color:var(--paper);
  width:100%;
  max-width:340px;
  margin:0 auto;
  padding:24px 27px 22px;
  border-radius:15px;
  box-shadow:0 16px 24px #213a3226;
  transform:rotate(-3deg)}
.card-brand{
  display:flex;
  align-items:center;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:.8rem;
  line-height:1.1;
  gap:10px}
.card-brand svg{
  width:40px;
  height:40px;
  stroke:var(--lime);
  stroke-width:1.8}
.sample-label{
  margin-left:auto;
  font-size:.58rem;
  letter-spacing:.06em;
  color:var(--lime)}
.card-title{
  font-family:Fraunces,serif;
  font-size:2.1rem;
  letter-spacing:-.03em;
  line-height:1.1;
  color:var(--lime);
  margin:29px 0 27px}
.member-info>span,.card-bottom span{
  display:block;
  font-size:.63rem;
  color:#c6d5ca}
.member-info strong{
  font-size:1.03rem;
  font-weight:500}
.card-bottom{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-top:25px;
  padding-top:17px;
  border-top:1px solid #4b6b5b}
.card-bottom strong{
  font-size:.86rem;
  font-weight:500}
.card-bottom .member-number{
  margin-top:22px;
  font-size:.62rem}
.card-bottom img{
  border-radius:4px;
  background:white}
.wallet-caption{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:29px;
  font-size:.74rem;
  font-weight:500}
.wallet-caption span+span{
  border-left:1px solid #9eaa8e;
  padding-left:10px}
.wallet-example{
  margin:32px 0 0}
.wallet-example figcaption{
  display:grid;
  gap:4px;
  font-size:.88rem}
.wallet-example figcaption span{
  color:var(--muted);
  font-size:.8rem}
.wallet-example-badges{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px;
  padding:8px;
  margin-top:10px}
.wallet-example-badges img{
  height:48px;
  width:auto}
.credential-stage figcaption{
  text-align:center;
  font-size:.71rem;
  line-height:1.6;
  margin:10px auto 0;
  max-width:40ch;
  color:#485d47}
.trust-strip{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)}
.trust-strip>div{
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding-top:24px;
  padding-bottom:24px;
  font-size:.8rem;
  font-weight:500}
.section-intro{
  color:var(--muted);
  margin-bottom:30px;
  font-size:1.04rem;
  max-width:43ch}
.source-note{
  display:flex;
  gap:13px;
  align-items:flex-start;
  margin-top:40px;
  font-size:.88rem}
.source-note svg{
  flex-shrink:0}
.source-note small{
  color:var(--muted);
  font-size:.75rem}
.steps{
  list-style:none;
  padding:0;
  margin:0}
.steps li{
  display:flex;
  gap:24px;
  border-bottom:1px solid var(--line);
  padding:0 0 25px;
  margin-bottom:27px}
.steps li:last-child{
  margin-bottom:0;
  border:0;
  padding-bottom:0}
.step-number{
  font-family:Fraunces,serif;
  font-size:2rem;
  line-height:1.1;
  color:#658049;
  min-width:20px}
.steps h3{
  margin-bottom:12px}
.steps p{
  color:var(--muted);
  font-size:.93rem;
  margin-bottom:0}
.verification{
  background:var(--forest);
  color:var(--paper)}
.verification h2 em{
  color:var(--lime)}
.verification p{
  color:#d0dbd3;
  max-width:44ch}
.verification .verification-note{
  font-size:.88rem;
  color:#b8cabe;
  margin:24px 0}
.light-link{
  display:inline-flex;
  align-items:center;
  gap:18px;
  color:var(--lime);
  font-size:.9rem}
.verification-demo{
  background:var(--paper);
  color:var(--ink);
  border-radius:14px;
  padding:25px}
.demo-heading{
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:.7rem;
  color:var(--muted);
  margin-bottom:18px}
.demo-switches{
  display:flex;
  gap:4px;
  border-bottom:1px solid var(--line);
  padding-bottom:16px}
.state-button{
  background:transparent;
  color:var(--muted);
  padding:8px 12px;
  min-height:44px;
  font-size:.75rem;
  flex:1}
.state-button[aria-pressed=true]{
  background:var(--forest);
  color:var(--paper)}
.state-button:hover{
  background:#dfe5d3;
  color:var(--ink)}
.verification-result{
  text-align:center;
  padding-top:23px}
.result-symbol{
  width:48px;
  height:48px;
  color:#365c37;
  margin-bottom:16px}
.verification-result h3{
  font-size:1.35rem}
.verification .verification-result p{
  font-size:.82rem;
  line-height:1.6;
  color:var(--muted);
  max-width:32ch;
  margin:12px auto 22px;
  min-height:64px}
.verification-result dl{
  text-align:left;
  font-size:.76rem;
  border-top:1px solid var(--line);
  margin:0;
  padding-top:12px}
.verification-result dl>div{
  display:flex;
  justify-content:space-between;
  gap:15px;
  padding:5px 0}
.verification-result dt{
  font-weight:400;
  color:var(--muted)}
.verification-result dd{
  margin:0;
  font-weight:500}
.verification .demo-disclaimer{
  font-size:.68rem;
  color:var(--muted);
  line-height:1.5;
  text-align:center;
  margin:18px auto 0}
.verification-result[data-result-state=expired] .result-symbol{
  color:#a34729}
.verification-result[data-result-state=offline] .result-symbol{
  color:#6b6043}
.organization-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  border-bottom:1px solid var(--line);
  padding:23px 0}
.organization-row:first-child{
  padding-top:0}
.organization-row h3{
  font-size:1.2rem}
.organization-row p{
  color:var(--muted);
  font-size:.9rem;
  margin-bottom:0}
.scope-note{
  font-size:.78rem;
  color:var(--muted);
  margin-top:24px;
  max-width:54ch}
.local-section{
  background:#e6ead9}
.local-promises{
  list-style:none;
  margin:0;
  padding:0}
.local-promises li{
  padding:0 0 24px;
  margin:0 0 24px;
  border-bottom:1px solid #c5ceba}
.local-promises li:last-child{
  margin:0;
  border:0;
  padding:0}
.local-promises strong{
  display:block;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:1.2rem;
  margin-bottom:7px}
.local-promises span{
  color:var(--muted);
  font-size:.88rem}
.quote-panel{
  border-top:2px solid var(--forest);
  padding-top:25px}
.quote-panel h3{
  margin-bottom:22px}
.quote-panel ul{
  padding-left:20px;
  margin-bottom:28px}
.quote-panel li{
  padding-left:6px;
  margin-bottom:11px;
  font-size:.95rem;
  color:var(--muted)}
.payment-note{
  margin:16px 0 0;
  color:var(--muted);
  font-size:.78rem}
.questions{
  padding-bottom:100px}
.questions h2{
  margin-bottom:35px}
.questions details{
  border-top:1px solid var(--line);
  padding:21px 0}
.questions summary{
  font-size:.95rem;
  font-weight:600;
  cursor:pointer;
  padding-right:12px}
.questions details p{
  margin:18px 0 0;
  font-size:.88rem;
  color:var(--muted)}
.contact-section{
  background:#e8d4bf}
.contact-section h2 em{
  color:#795336}
.contact-section .section-intro{
  color:#534b42}
.contact-fallback{
  font-size:.85rem;
  color:#534b42;
  margin-top:34px}
.form-label{
  font-size:.8rem;
  font-weight:600;
  margin-bottom:7px}
.form-control,.form-select{
  background-color:#fbf7ef;
  border:1px solid #ab9b88;
  min-height:48px;
  border-radius:5px;
  font-size:.9rem;
  color:var(--ink);
  padding:12px}
.form-control::placeholder{
  color:#6c655a;
  opacity:1}
.form-control:focus,.form-select:focus{
  background-color:#fffcf5;
  border-color:var(--forest);
  box-shadow:0 0 0 3px #183e3520}
.form-control[aria-invalid=true],.form-select[aria-invalid=true],.form-check-input[aria-invalid=true]{
  border-color:#a3291d;
  outline:1px solid #a3291d}
.form-text{
  font-size:.71rem;
  color:#625648;
  margin-top:8px}
.optional{
  font-weight:400;
  font-size:.7rem;
  color:#625648;
  margin-left:5px}
.form-check{
  margin-top:5px}
.form-check-label{
  font-size:.77rem;
  line-height:1.6;
  display:block;
  padding:0 0 0 5px;
  color:#534b42}
.form-check-input{
  width:20px;
  height:20px;
  border:1px solid #887763}
.form-check-input:checked{
  background-color:var(--forest);
  border-color:var(--forest)}
.cf-turnstile{
  margin:10px 0 16px;
  max-width:100%}
.form-submit{
  width:100%}
.form-status{
  font-size:.86rem;
  line-height:1.6;
  min-height:27px;
  margin:15px 0 0}
.form-status[data-kind=error]{
  color:#8f2019}
.form-status[data-kind=success]{
  color:var(--forest);
  font-weight:600}
footer{
  padding-top:42px;
  padding-bottom:30px}
.footer-top,.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px}
.footer-top>span{
  font-size:.76rem;
  color:var(--muted)}
.footer-bottom{
  margin-top:32px;
  font-size:.72rem;
  color:var(--muted)}
.footer-bottom p{
  margin:0}
.footer-bottom nav{
  display:flex;
  gap:22px}
.trademark-note{
  font-size:.65rem;
  color:var(--muted);
  margin:18px 0 0;
  max-width:100%}

@media(min-width:992px){
  .credential-stage{
  margin-left:20px}
.hero-copy{
  padding-bottom:10px}
}

@media(max-width:991px){
  .row.g-5{
  --bs-gutter-x:2rem}
.hero{
  padding-top:45px}
.hero-copy{
  margin-bottom:38px}
h1{
  max-width:14ch}
.hero .lead,.hero-description{
  max-width:48ch}
.credential-stage{
  max-width:560px;
  margin:0 auto}
.section-space{
  padding-top:75px;
  padding-bottom:75px}
.trust-strip>div{
  flex-wrap:wrap;
  gap:16px 24px}
.trust-strip span{
  width:calc(50% - 12px)}
.section-intro{
  max-width:60ch}
.source-note{
  margin-top:22px}
.verification-demo{
  max-width:560px}
.questions{
  padding-bottom:70px}
.footer-top,.footer-bottom{
  align-items:flex-start}
}

@media(max-width:575px){
  .masthead{
  min-height:80px;
  gap:12px}
.brand{
  font-size:1.04rem;
  gap:7px}
.brand img{
  width:29px;
  height:29px}
.masthead nav{
  gap:0}
.desktop-link{
  display:none}
.nav-cta{
  font-size:.75rem;
  padding:9px 12px;
  gap:9px}
.nav-cta svg{
  width:16px}
.hero{
  padding-top:37px;
  padding-bottom:42px}
h1{
  font-size:3.35rem;
  margin-bottom:23px}
.hero .lead{
  font-size:1.18rem}
.hero-description{
  font-size:.92rem}
.main-cta{
  font-size:.84rem;
  padding:14px 18px;
  gap:15px}
.hero-promise{
  font-size:.75rem}
.credential-stage{
  padding:20px 20px 24px}
.stage-topline{
  font-size:.6rem;
  gap:10px}
.membership-card{
  padding:20px 21px;
  max-width:292px}
.card-title{
  font-size:1.85rem}
.card-brand{
  font-size:.7rem}
.card-bottom img{
  width:80px;
  height:80px}
.trust-strip>div{
  font-size:.68rem;
  gap:13px 18px;
  padding-top:20px;
  padding-bottom:20px}
.trust-strip span{
  width:calc(50% - 9px)}
.section-space{
  padding-top:60px;
  padding-bottom:60px}
h2{
  font-size:2.4rem}
.organization-row{
  grid-template-columns:1fr;
  gap:8px}
.organization-row h3{
  margin-bottom:0}
.verification-demo{
  padding:22px 18px}
.demo-switches{
  gap:2px}
.state-button{
  padding:8px 7px}
.questions{
  padding-bottom:55px}
.footer-top,.footer-bottom{
  flex-direction:column;
  gap:20px}
.footer-top>span{
  font-size:.72rem}
.footer-bottom{
  margin-top:24px}
.footer-bottom nav{
  gap:20px}
.section-intro{
  font-size:.96rem}
}

@media(prefers-reduced-motion:reduce){
  html{
  scroll-behavior:auto}
*,*::before,*::after{
  transition:none!important;
  animation:none!important}
}


[hidden]{
  display:none!important}


.contact-section .scope-note{
  color:#534b42}
.verification .light-link:focus-visible{
  outline-color:var(--lime)}
