:root{
  --catalog-cream:#fffaf0;
  --catalog-paper:#fffef9;
  --catalog-paper-deep:#f8eedb;
  --catalog-ink:#35261d;
  --catalog-muted:#786452;
  --catalog-line:#e3cdab;
  --catalog-red:#c84634;
  --catalog-red-dark:#9f3026;
  --catalog-gold:#a9783e;
  --catalog-sand:#c98a3e;
  --catalog-shadow:0 18px 46px rgba(78,52,27,.09);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--catalog-cream);
  color:var(--catalog-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  line-height:1.9;
}
a{color:inherit}
main{overflow:hidden}

.catalog-hero{
  width:min(960px,calc(100% - 48px));
  margin:0 auto;
  padding:76px 0 54px;
  text-align:center;
}
.catalog-kicker{
  margin:0 0 12px;
  color:var(--catalog-gold);
  font-size:11px;
  font-weight:900;
  letter-spacing:.17em;
}
.catalog-hero h1{
  margin:0;
  font-size:clamp(42px,6.3vw,68px);
  line-height:1.17;
  letter-spacing:.06em;
}
.catalog-hero h1 span{display:block}
.catalog-hero h1 span+span{
  margin-top:4px;
  color:var(--catalog-red-dark);
}
.catalog-divider{
  position:relative;
  display:block;
  width:150px;
  height:1px;
  margin:28px auto 25px;
  background:var(--catalog-line);
}
.catalog-divider::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:8px;
  height:8px;
  border:2px solid var(--catalog-cream);
  background:var(--catalog-red);
  transform:translate(-50%,-50%) rotate(45deg);
}
.catalog-introduction{
  margin:0;
  color:var(--catalog-muted);
  font-size:15px;
  line-height:2;
}
.catalog-meta{
  display:grid;
  grid-template-columns:1.4fr 1fr .7fr;
  width:min(680px,100%);
  margin:34px auto 0;
  overflow:hidden;
  border:1px solid var(--catalog-line);
  border-radius:16px;
  background:rgba(255,254,249,.8);
}
.catalog-meta div{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:9px;
  align-items:center;
  min-width:0;
  padding:11px 16px;
}
.catalog-meta div+div{border-left:1px solid var(--catalog-line)}
.catalog-meta dt{
  color:var(--catalog-gold);
  font-size:9px;
  font-weight:900;
  letter-spacing:.13em;
  white-space:nowrap;
}
.catalog-meta dd{
  min-width:0;
  margin:0;
  font-size:12px;
  font-weight:800;
}

.catalog-index{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  width:min(850px,calc(100% - 48px));
  margin:0 auto 80px;
}
.catalog-index a{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  min-height:64px;
  padding:13px 20px;
  border:1px solid var(--catalog-line);
  border-radius:999px;
  background:var(--catalog-paper);
  box-shadow:0 9px 24px rgba(78,52,27,.06);
  font-size:14px;
  font-weight:900;
  text-decoration:none;
  transition:transform .2s ease,border-color .2s ease;
}
.catalog-index a:first-child{border-color:#cbb79b}
.catalog-index a:last-child{border-color:#dfbd8d}
.catalog-index a:hover{
  border-color:var(--catalog-red);
  transform:translateY(-1px);
}
.catalog-index a:focus-visible,
.catalog-button:focus-visible,
.resource-description a:focus-visible,
.catalog-footer a:focus-visible{
  outline:3px solid #d89a29;
  outline-offset:4px;
}
.catalog-index span{
  color:var(--catalog-gold);
  font-size:9px;
  letter-spacing:.13em;
}

.resource-section{
  width:min(1100px,calc(100% - 48px));
  margin:0 auto;
  padding:78px 0 118px;
  scroll-margin-top:20px;
}
.resource-section-desert{
  border-top:1px solid var(--catalog-line);
  padding-top:116px;
}
.resource-section-heading{
  width:min(780px,100%);
  margin:0 auto 40px;
  text-align:center;
}
.resource-section-heading>p:first-child{
  margin:0 0 7px;
  color:var(--catalog-gold);
  font-size:10px;
  font-weight:900;
  letter-spacing:.17em;
}
.resource-section-heading h2{
  margin:0;
  font-size:clamp(30px,4vw,45px);
  line-height:1.35;
  letter-spacing:.065em;
}
.section-lead{
  margin:17px 0 0;
  color:var(--catalog-muted);
  font-size:14px;
  line-height:1.95;
}
.resource-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.resource-card{
  display:flex;
  min-width:0;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--catalog-line);
  border-top:5px solid #7b7067;
  border-radius:24px;
  background:var(--catalog-paper);
  box-shadow:var(--catalog-shadow);
}
.resource-section-desert .resource-card{border-top-color:var(--catalog-sand)}
.resource-card:last-child:nth-child(odd){
  grid-column:1/-1;
  width:calc((100% - 24px)/2);
  justify-self:center;
}
.resource-card-heading{
  padding:25px 27px 19px;
  text-align:center;
}
.resource-card-heading p{
  margin:0 0 3px;
  color:var(--catalog-gold);
  font-size:9px;
  font-weight:900;
  letter-spacing:.15em;
}
.resource-card-heading h3{
  margin:0;
  font-size:clamp(24px,2.8vw,31px);
  line-height:1.4;
  letter-spacing:.05em;
}
.resource-facts{
  display:grid;
  grid-template-columns:.8fr 1.3fr 1.15fr;
  margin:0 22px;
  overflow:hidden;
  border:1px solid var(--catalog-line);
  border-radius:13px;
  background:var(--catalog-paper-deep);
}
.resource-facts div{
  min-width:0;
  padding:9px 8px 10px;
  text-align:center;
}
.resource-facts div+div{border-left:1px solid var(--catalog-line)}
.resource-facts dt{
  color:var(--catalog-gold);
  font-size:8px;
  font-weight:900;
  letter-spacing:.1em;
}
.resource-facts dd{
  margin:1px 0 0;
  font-size:11px;
  font-weight:800;
  line-height:1.45;
}
.resource-description{
  margin:0;
  padding:22px 28px 21px;
  color:var(--catalog-muted);
  font-size:13.5px;
  line-height:1.95;
}
.resource-description a{
  color:var(--catalog-red-dark);
  font-weight:900;
  text-underline-offset:3px;
}
.resource-note{
  flex:1;
  margin:0 19px 19px;
  padding:15px 17px 16px;
  border-left:3px solid var(--catalog-red);
  border-radius:0 12px 12px 0;
  background:#fbf4e8;
}
.resource-section-desert .resource-note{border-left-color:var(--catalog-sand)}
.resource-note p{margin:0}
.resource-note-label{
  margin-bottom:4px!important;
  color:var(--catalog-red-dark);
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
}
.resource-section-desert .resource-note-label{color:#9a6127}
.resource-note p:last-child{
  color:#6f5947;
  font-size:12.5px;
  line-height:1.85;
}

.catalog-notice{
  width:min(860px,calc(100% - 48px));
  margin:0 auto;
  padding:39px 46px 41px;
  border:1px solid var(--catalog-line);
  border-radius:24px;
  background:
    linear-gradient(90deg,rgba(210,175,117,.08) 1px,transparent 1px),
    linear-gradient(0deg,rgba(210,175,117,.08) 1px,transparent 1px),
    var(--catalog-paper);
  background-size:24px 24px;
  box-shadow:var(--catalog-shadow);
  text-align:center;
}
.catalog-notice-kicker{
  margin:0 0 5px;
  color:var(--catalog-gold);
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
}
.catalog-notice h2{
  margin:0;
  font-size:clamp(23px,3.2vw,32px);
  line-height:1.45;
  letter-spacing:.04em;
}
.catalog-notice>p:last-child{
  margin:14px 0 0;
  color:var(--catalog-muted);
  font-size:13px;
  line-height:1.95;
}
.catalog-actions{
  display:flex;
  justify-content:center;
  gap:14px;
  width:min(760px,calc(100% - 48px));
  margin:40px auto 125px;
}
.catalog-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:210px;
  min-height:49px;
  padding:11px 22px;
  border:1px solid var(--catalog-red-dark);
  border-radius:999px;
  font-size:13px;
  font-weight:900;
  line-height:1.4;
  text-decoration:none;
  transition:transform .2s ease,background .2s ease;
}
.catalog-button:hover{transform:translateY(-1px)}
.catalog-button-primary{
  background:var(--catalog-red);
  color:#fff;
}
.catalog-button-primary:hover{background:var(--catalog-red-dark)}
.catalog-button-secondary{
  background:var(--catalog-paper);
  color:var(--catalog-red-dark);
}
.catalog-button-secondary:hover{background:#f8eedb}

.catalog-footer{
  padding:30px 20px 28px;
  border-top:1px solid var(--catalog-line);
  color:#796452;
  text-align:center;
}
.catalog-footer nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 24px;
}
.catalog-footer .footer-nav-row{display:contents}
.catalog-footer a{
  font-size:12px;
  font-weight:800;
  text-decoration:none;
}
.catalog-footer>p{
  margin:17px 0 0;
  font-size:11px;
}

@media(max-width:760px){
  .catalog-hero{
    width:min(100% - 28px,540px);
    padding:48px 0 39px;
  }
  .catalog-kicker{
    margin-bottom:9px;
    font-size:9px;
  }
  .catalog-hero h1{
    font-size:clamp(34px,10.5vw,47px);
    letter-spacing:.035em;
  }
  .catalog-hero h1 span+span{margin-top:2px}
  .catalog-divider{margin:23px auto 20px}
  .catalog-introduction{
    font-size:13px;
    line-height:1.9;
  }
  .catalog-meta{
    display:block;
    margin-top:25px;
    border-radius:13px;
  }
  .catalog-meta div{
    grid-template-columns:72px 1fr;
    padding:8px 13px;
    text-align:left;
  }
  .catalog-meta div+div{
    border-top:1px solid var(--catalog-line);
    border-left:0;
  }
  .catalog-meta dt{font-size:8px}
  .catalog-meta dd{font-size:11px}

  .catalog-index{
    grid-template-columns:1fr;
    gap:10px;
    width:min(100% - 28px,480px);
    margin-bottom:49px;
  }
  .catalog-index a{
    min-height:52px;
    padding:10px 16px;
    font-size:12px;
  }

  .resource-section{
    width:min(100% - 28px,540px);
    padding:54px 0 84px;
  }
  .resource-section-desert{padding-top:83px}
  .resource-section-heading{margin-bottom:27px}
  .resource-section-heading>p:first-child{
    margin-bottom:5px;
    font-size:9px;
  }
  .resource-section-heading h2{
    font-size:clamp(25px,7.7vw,34px);
    letter-spacing:.04em;
  }
  .section-lead{
    margin-top:13px;
    font-size:12.5px;
    line-height:1.85;
  }
  .resource-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .resource-card{
    border-radius:20px;
  }
  .resource-card:last-child:nth-child(odd){
    grid-column:auto;
    width:100%;
  }
  .resource-card-heading{padding:21px 20px 16px}
  .resource-card-heading h3{
    font-size:clamp(23px,7vw,28px);
    letter-spacing:.035em;
  }
  .resource-facts{
    grid-template-columns:.85fr 1.25fr 1.15fr;
    margin:0 14px;
  }
  .resource-facts div{padding:8px 4px 9px}
  .resource-facts dt{font-size:7.5px}
  .resource-facts dd{font-size:10px}
  .resource-description{
    padding:18px 19px 17px;
    font-size:13px;
    line-height:1.9;
  }
  .resource-note{
    margin:0 14px 14px;
    padding:13px 14px 14px;
  }
  .resource-note p:last-child{
    font-size:12px;
    line-height:1.82;
  }

  .catalog-notice{
    width:min(100% - 28px,540px);
    padding:29px 20px 31px;
    border-radius:20px;
  }
  .catalog-notice-kicker{font-size:9px}
  .catalog-notice h2{
    font-size:clamp(14px,5.1vw,21px);
    line-height:1.5;
    letter-spacing:.02em;
    white-space:nowrap;
  }
  .catalog-notice>p:last-child{
    margin-top:12px;
    font-size:12px;
    line-height:1.85;
  }
  .catalog-actions{
    flex-direction:column;
    gap:10px;
    width:min(100% - 56px,360px);
    margin:30px auto 88px;
  }
  .catalog-button{
    min-width:0;
    width:100%;
    min-height:46px;
    font-size:12px;
  }

  .catalog-footer{padding:26px 14px 24px}
  .catalog-footer .footer-nav{
    width:100%;
    flex-direction:column;
    align-items:center;
    gap:7px;
  }
  .catalog-footer .footer-nav-row{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
  }
  .catalog-footer .footer-nav-row-primary{
    gap:clamp(12px,4vw,18px);
  }
  .catalog-footer .footer-nav-row-secondary{
    gap:clamp(7px,2.8vw,12px);
  }
  .catalog-footer .footer-nav a{
    white-space:nowrap;
    font-size:clamp(10px,3.2vw,12px);
    letter-spacing:.02em;
  }
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .catalog-index a,
  .catalog-button{transition:none}
}
