:root{
  --linen:#F6F3EC; --hemlock:#2F3A30; --ridge:#5E6E75; --haze:#A9B5B8; --mist:#D5DBDA; --ember:#9A5518; --ember-dark:#7A4210;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --slab:"Zilla Slab",Rockwell,"Roboto Slab",Georgia,serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--linen);color:var(--hemlock);font-family:var(--serif);font-size:1.125rem;line-height:1.7}
img{max-width:100%;height:auto;display:block}
a{color:var(--ember);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--ember-dark)}
:focus-visible{outline:2px solid var(--ember);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--hemlock);color:var(--linen);padding:.5rem 1rem;z-index:10}
.skip:focus{left:1rem;top:1rem}

.site-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.75rem clamp(1rem,4vw,3rem);flex-wrap:wrap}
.brand img{width:150px}
.site-header nav{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;align-items:center;font-family:var(--slab);font-weight:500;font-size:1.0625rem}
.site-header nav a{color:var(--hemlock);text-decoration:none;padding:.25rem 0;border-bottom:1px solid transparent}
.site-header nav a:hover,.site-header nav a[aria-current]{border-bottom-color:var(--hemlock)}
.site-header nav .nav-book{color:var(--ember)}

/* signature: photo fading into smoky ridgelines */
.hero{position:relative;margin:0;height:clamp(260px,58vh,620px);overflow:hidden;background:var(--mist)}
.hero img{width:100%;height:100%;object-fit:cover}
.ridges{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:clamp(70px,12vw,170px)}

.prose{max-width:40rem;margin:0 auto;padding:0 clamp(1.25rem,5vw,2rem) 4rem}
h1,h2,h3{font-family:var(--slab);font-weight:600;line-height:1.15;color:var(--hemlock)}
h1{font-size:clamp(2.1rem,5.2vw,3.4rem);margin:-.2em 0 1.5rem;letter-spacing:-.01em;position:relative}
h2{font-size:clamp(1.5rem,3vw,1.9rem);margin:3rem 0 .75rem}
h3{font-size:1.3rem;margin:2rem 0 .35rem}
h3 a{color:var(--hemlock)}
h3 a:hover{color:var(--ember)}
p{margin:0 0 1.15rem}
.prose > p:first-of-type,.lede{font-size:1.25rem;line-height:1.6}
ul{padding-left:1.2rem}
li{margin-bottom:.6rem}
li::marker{color:var(--ridge)}

.stats{font-family:var(--slab);font-weight:500;color:var(--ridge);font-size:1.05rem;margin-top:-.25rem}
.stats span{margin:0 .55rem;color:var(--haze)}

.table-wrap{overflow-x:auto;margin:1rem 0 1.5rem}
table{border-collapse:collapse;width:100%;font-size:1.05rem}
th,td{text-align:left;padding:.6rem .75rem .6rem 0;border-bottom:1px solid var(--mist);vertical-align:top}
th{font-family:var(--slab);font-weight:600;border-bottom:2px solid var(--hemlock)}
td:last-child,th:last-child{text-align:right;white-space:nowrap;padding-right:0}

.cta{margin:2rem 0}
.button{display:inline-block;background:var(--hemlock);color:var(--linen);text-decoration:none;font-family:var(--slab);font-weight:600;font-size:1.1rem;padding:.85rem 1.5rem;border-radius:3px}
.button:hover{background:#1F2820;color:var(--linen)}

.faqs{border-top:1px solid var(--mist);margin-top:1rem}
.faq{padding:1rem 0;border-bottom:1px solid var(--mist)}
.faq h3{margin:0 0 .3rem;font-size:1.15rem}
.faq p{margin:0}

.guides{list-style:none;padding:0;margin:2.5rem 0}
.guides li{padding:1.4rem 0;border-top:1px solid var(--mist);margin:0}
.guides li:last-child{border-bottom:1px solid var(--mist)}
.guides h2{margin:0 0 .4rem;font-size:1.45rem}
.guides h2 a{color:var(--hemlock);text-decoration:none}
.guides h2 a:hover{color:var(--ember);text-decoration:underline}
.guides p{margin:0;color:#4A564B}

.site-footer{background:var(--hemlock);color:var(--linen)}
.foot-inner{max-width:40rem;margin:0 auto;padding:3rem clamp(1.25rem,5vw,2rem)}
.foot-logo{width:170px;margin-bottom:1.25rem}
.tagline{font-family:var(--slab);font-size:1.6rem;font-weight:600;margin-bottom:.5rem}
.site-footer nav{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;margin-top:1.5rem}
.site-footer a{color:var(--linen)}
.site-footer :focus-visible{outline-color:var(--linen)}

@media (max-width:640px){
  .site-header{justify-content:center}
  .site-header nav{justify-content:center;font-size:1rem}
  .brand img{width:104px}
  .hero{height:clamp(220px,42vh,420px)}
}
.hero-hub{height:min(56.25vw,82vh)}
.hero-hub img{object-position:center 45%}
