:root{--color-background:#faf7f1;--color-background-alt:#f6f2ea;--color-secondary:#ece7dd;--color-ink:#16181d;--color-ink-deep:#101216;--color-espresso:#2b2620;--color-text:#2b2620;--color-text-light:#57503f;--color-text-faint:#6b6459;--color-primary:#8a5a2b;--color-primary-light:#a06a34;--color-primary-dark:#5f3d1c;--color-accent:#c9a05f;--color-cream:#ece7dd;--color-cream-soft:#f3efe6;--font-heading:"Cinzel", serif;--font-body:"Montserrat", sans-serif;--font-serif:"Source Serif 4", Georgia, serif;--spacing-unit:8px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-background);font-weight:300;line-height:1.7}::selection{background:#e7d9bd}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:.02em;font-weight:500;line-height:1.2}p{margin-bottom:calc(var(--spacing-unit) * 2)}a{color:var(--color-primary);text-decoration:none;transition:color .25s}a:hover{color:var(--color-primary-dark)}.nav{background:var(--color-ink);border-bottom:1px solid #ece7dd14}.nav-container{max-width:1200px;padding:calc(var(--spacing-unit) * 3) calc(var(--spacing-unit) * 5);justify-content:space-between;align-items:center;gap:calc(var(--spacing-unit) * 2);margin:0 auto;display:flex}.wordmark{align-items:center;gap:calc(var(--spacing-unit) * 1.5);font-family:var(--font-heading);letter-spacing:.14em;color:var(--color-cream-soft);white-space:nowrap;font-size:1.05rem;font-weight:600;display:inline-flex}.wordmark:hover{color:#fff}.wordmark-mark{object-fit:contain;width:36px;height:36px;display:block}.nav-links{gap:calc(var(--spacing-unit) * 4);align-items:center;list-style:none;display:flex}.nav-links a{color:#ece7ddbf;letter-spacing:.12em;white-space:nowrap;font-size:.78rem;font-weight:400}.nav-links a:hover{color:#fff}.nav-toggle{cursor:pointer;padding:calc(var(--spacing-unit) * 1);z-index:1001;background:0 0;border:none;flex-direction:column;gap:5px;display:none}.nav-toggle-bar{background-color:var(--color-cream);width:24px;height:2px;transition:transform .3s,opacity .3s;display:block}.nav--overlay{z-index:50;background:0 0;border-bottom:none;position:absolute;top:0;left:0;right:0}.nav--overlay .wordmark{text-shadow:0 1px 10px #0000008c}.nav--overlay .nav-links a{color:#ece7dde6;text-shadow:0 1px 10px #000000a6}.nav--overlay .nav-links a:hover{color:#fff}.nav--overlay .nav-toggle-bar{box-shadow:0 1px 6px #0009}main{min-height:calc(100vh - 320px)}.footer{background:var(--color-ink-deep);padding:calc(var(--spacing-unit) * 4) calc(var(--spacing-unit) * 5)}.footer-container{justify-content:space-between;align-items:center;gap:calc(var(--spacing-unit) * 2);flex-wrap:wrap;max-width:1200px;margin:0 auto;display:flex}.footer-wordmark{align-items:center;gap:calc(var(--spacing-unit) * 1.5);font-family:var(--font-heading);letter-spacing:.14em;color:#ece7dd99;white-space:nowrap;font-size:.95rem;display:inline-flex}.footer-wordmark:hover{color:var(--color-cream)}.footer-wordmark .wordmark-mark{opacity:.6;width:28px;height:28px}.footer-links{gap:calc(var(--spacing-unit) * 3.5);flex-wrap:wrap;display:flex}.footer-links a{color:#ece7dd8c;letter-spacing:.12em;white-space:nowrap;font-size:.72rem}.footer-links a:hover{color:var(--color-cream)}.footer-copy{color:#ece7dd59;white-space:nowrap;font-size:.72rem}@media (width<=900px){.footer-container{text-align:center;justify-content:center;gap:calc(var(--spacing-unit) * 3)}.footer-links{justify-content:center}}@media (width<=768px){.nav-container{padding:calc(var(--spacing-unit) * 2.5) calc(var(--spacing-unit) * 3);z-index:1001;position:relative}.nav-toggle{display:flex}.nav-toggle[aria-expanded=true] .nav-toggle-bar:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-links{background:var(--color-ink);justify-content:center;align-items:center;gap:calc(var(--spacing-unit) * 5);opacity:0;visibility:hidden;z-index:1000;flex-direction:column;transition:opacity .3s,visibility .3s;position:fixed;inset:0}.nav-links.open{opacity:1;visibility:visible}.nav-links a{letter-spacing:.18em;font-size:1rem}}
