*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;color:#1f1f1f;background:#faf8f5;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit}
.serif{font-family:"Cormorant Garamond","Playfair Display",Georgia,"Times New Roman",serif}

/* Home hero */
.home{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;color:#fff;background:#3a2f2a;
  background-image:linear-gradient(rgba(10,8,12,.22),rgba(10,8,12,.40) 45%,rgba(10,8,12,.60)),url("/assets/desert-sunset.jpg");
  background-image:linear-gradient(rgba(10,8,12,.22),rgba(10,8,12,.40) 45%,rgba(10,8,12,.60)),image-set(url("/assets/desert-sunset.webp") type("image/webp"),url("/assets/desert-sunset.jpg") type("image/jpeg"));
  background-size:cover;background-position:center 60%;background-repeat:no-repeat}
@media (max-width:800px){
  .home{background-image:linear-gradient(rgba(10,8,12,.25),rgba(10,8,12,.45) 45%,rgba(10,8,12,.62)),url("/assets/desert-sunset.jpg");
    background-image:linear-gradient(rgba(10,8,12,.25),rgba(10,8,12,.45) 45%,rgba(10,8,12,.62)),image-set(url("/assets/desert-sunset-1200.webp") type("image/webp"),url("/assets/desert-sunset.jpg") type("image/jpeg"));
    background-position:42% center}
}
.hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 1.5rem 2rem}
.hero h1{font-family:"Cormorant Garamond","Playfair Display",Georgia,serif;font-weight:400;font-size:clamp(2.6rem,8vw,5.75rem);letter-spacing:.04em;line-height:1.05;margin:0;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.hero .rule{width:64px;height:1px;background:rgba(255,255,255,.75);margin:1.6rem auto}
.hero p.tagline{margin:0;font-size:clamp(.85rem,2.2vw,1.05rem);letter-spacing:.32em;text-transform:uppercase;font-weight:300;opacity:.95}
.hero p.loc{margin:.9rem 0 0;font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;opacity:.75}
.hero .contact-link{display:inline-block;margin-top:2.4rem;padding:.75rem 1.6rem;border:1px solid rgba(255,255,255,.7);text-decoration:none;font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;transition:background .2s,color .2s}
.hero .contact-link:hover,.hero .contact-link:focus{background:#fff;color:#1f1f1f}

.site-footer{padding:1.25rem 1.5rem 1.5rem;text-align:center;font-size:.8rem;letter-spacing:.04em}
.home .site-footer{color:rgba(255,255,255,.88)}
.site-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.6rem;margin-bottom:.6rem}
.site-footer nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem}
.site-footer nav a:hover{text-decoration:underline}
.site-footer .meta{opacity:.8}
.site-footer .credit{opacity:.65;font-size:.7rem;margin-top:.35rem}

/* Document pages */
.doc-header{background:#2b2420;color:#fff;padding:1.25rem 1.5rem}
.doc-header a{text-decoration:none;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.5rem;letter-spacing:.04em}
.doc{max-width:760px;margin:0 auto;padding:2.5rem 1.5rem 3rem}
.doc h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:clamp(2rem,5vw,2.8rem);margin:0 0 .25rem}
.doc .updated{color:#6b625c;font-size:.9rem;margin:0 0 2rem}
.doc h2{font-size:1.15rem;margin:2.2rem 0 .6rem;letter-spacing:.01em}
.doc h3{font-size:1rem;margin:1.4rem 0 .4rem}
.doc p,.doc li{font-size:1rem}
.doc ul{padding-left:1.25rem}
.doc .callout{background:#f1ece6;border-left:3px solid #b5835a;padding:1rem 1.25rem;margin:1.25rem 0}
.doc a{color:#8a5a33}
.doc-page .site-footer{border-top:1px solid #e6e0d9;color:#4a423c}
