@font-face{font-family:"Antonio";src:url(../fonts/Antonio-VariableFont_wght.ttf) format("truetype");font-weight:100 700;font-display:swap}
:root{--ink:#141311;--char:#1b1a18;--cream:#f3ecdd;--paper:#efe6d2;--kraft:#a9875a;--tan:#c9ad82;--line:#d8cbb0}
*{box-sizing:border-box}
body{margin:0;font:1.05rem/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--cream)}
h1,h2,h3,.wm,.kicker{font-family:"Antonio","Arial Narrow",Impact,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.01em;line-height:1.1}
a{color:#6e4f26}:focus-visible{outline:3px solid #d9a45b;outline-offset:3px}
.skip{position:absolute;left:-999px;top:.5rem}.skip:focus{left:1rem;background:var(--cream);color:var(--ink);padding:.6rem 1rem;z-index:99;font-weight:600}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wrap{max-width:1040px;margin:0 auto;padding:0 1.25rem}.narrow{max-width:640px}
/* etched line texture */
.etched{background-color:var(--char)}
header.site,.hero,footer.site{background-color:var(--char);color:var(--cream);
 background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.028) 0 1px,transparent 1px 5px),repeating-linear-gradient(45deg,rgba(0,0,0,.18) 0 1px,transparent 1px 7px)}
header.site{border-bottom:1px solid #000;box-shadow:0 1px 0 #3a3630}
.bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.7rem;padding-bottom:.7rem}
.logo{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--cream)}
.logo img{width:52px;height:52px;display:block}.wm{font-size:1.45rem;margin:0;color:var(--cream)}
nav ul{list-style:none;display:flex;gap:1.25rem;margin:0;padding:0}
nav a{color:var(--cream);text-decoration:none;font-family:"Antonio",sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:1rem;padding:.2rem 0}
nav a[aria-current]{border-bottom:2px solid var(--tan)}nav a:hover{color:var(--tan)}
.hero{text-align:center;padding:3.5rem 0 3rem}
.hero.small{padding:2.6rem 0 2.2rem}.hero h1{font-size:clamp(2.2rem,6vw,3.4rem);margin:0;color:var(--cream)}
.hero-logo{display:block;margin:0 auto;width:min(440px,84vw);height:auto}
.lede{max-width:36rem;margin:1rem auto 0;font-size:1.15rem;color:#e4dbc8}
/* thin double rule, echoing the logo rings */
.rule2{width:min(260px,60%);height:6px;margin:1.4rem auto 0;border-top:2px solid var(--tan);border-bottom:1px solid var(--tan)}
.rule2.dark{border-color:var(--ink);margin:.9rem 0 2rem}
.paper{padding:3.5rem 0;background-color:var(--paper);
 background-image:radial-gradient(rgba(80,60,30,.05) 1px,transparent 1.2px),repeating-linear-gradient(0deg,rgba(120,90,50,.035) 0 1px,transparent 1px 4px);background-size:6px 6px,auto}
.kicker{color:#7d5f36;letter-spacing:.25em;font-weight:600;font-size:.95rem;margin:0}
h2{font-size:clamp(2rem,5vw,2.8rem);margin:.2rem 0 0}
.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.1rem}
.card{background:var(--cream);border:1px solid var(--line);outline:1px solid var(--line);outline-offset:-6px;padding:1.4rem 1.3rem 1.2rem}
.card h3{font-size:1.35rem;margin:.6rem 0 .3rem}.card p{margin:0;color:#4a443b;font-size:.98rem}
.ico{width:40px;height:40px;color:#8a6a3d}
.cta{margin:2.2rem 0 0}
.btn{display:inline-block;background:var(--ink);color:var(--cream);font-family:"Antonio",sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.12em;padding:.75rem 1.6rem;border:0;text-decoration:none;cursor:pointer;font-size:1rem;box-shadow:0 0 0 1px var(--ink),0 0 0 4px var(--paper),0 0 0 5px var(--ink)}
.btn:hover{background:#3a332a}
form label{display:block;font-weight:600;margin-top:1rem}
form input,form textarea{width:100%;padding:.65rem;border:1px solid #b9a888;background:#fbf7ef;font:inherit}
.note{background:var(--cream);border-left:4px solid var(--kraft);padding:.75rem 1rem}
footer.site{padding:2rem 0;border-top:6px double var(--tan)}
.foot{display:flex;gap:1.2rem;align-items:center}.foot p{margin:.15rem 0;color:#cfc5b2;font-size:.95rem}.foot .wm{font-size:1.4rem;color:var(--cream)}
.foot a{color:var(--tan)}
@media (max-width:560px){.wm{font-size:1.2rem}.logo img{width:44px;height:44px}nav ul{gap:1rem}.hero{padding:2.4rem 0 2.2rem}.foot{align-items:flex-start}}
.plate{display:inline-block;background:var(--cream);padding:2rem 2.4rem;border:2px solid var(--tan);outline:1px solid var(--tan);outline-offset:5px;margin:6px;max-width:92vw;
 background-image:radial-gradient(rgba(80,60,30,.05) 1px,transparent 1.2px);background-size:6px 6px}
.hero-logo{width:min(400px,74vw)}

/* hero engraving */
.hero.hero-img{background-color:#0d0c0b;background-image:linear-gradient(rgba(10,9,8,.6),rgba(10,9,8,.72)),url(../img/hero-etching-wide.jpg);background-size:cover;background-position:50% 62%;padding:4.5rem 0 4rem}
.hero.hero-img.short{padding:3.4rem 0 3rem}
.hero-img .lede{font-size:clamp(1.15rem,2.6vw,1.5rem);max-width:40rem;margin:1rem auto .4rem;color:#f3ecdd;text-shadow:0 1px 3px #000}
.hero-img .sub{letter-spacing:.18em;text-transform:uppercase;font-size:.82rem;color:#e4dbc8;margin:0}
.intro{max-width:44rem;font-size:1.1rem;line-height:1.7;margin:0 0 1.8rem}
.prose p{margin:0 0 1rem}.fine{font-size:.9rem;color:#5a5246}.center{text-align:center}.center .intro{margin-left:auto;margin-right:auto}
.req{color:#8a3b1e}.opt{font-weight:400;color:#5a5246;font-size:.9rem}
form input:focus,form textarea:focus{border-color:var(--ink)}
.cta{display:flex;flex-wrap:wrap;gap:1rem}
.btn.alt{background:transparent;color:var(--ink)}.btn.alt:hover{background:var(--ink);color:var(--cream)}
nav a:focus-visible{outline-color:#d9a45b}
@media (max-width:900px){
 .hero.hero-img{background-image:linear-gradient(rgba(10,9,8,.55),rgba(10,9,8,.72)),url(../img/hero-mobile.jpg);background-position:50% 100%}
}
@media (max-width:560px){
 .bar{flex-direction:column;align-items:center;gap:.6rem}
 nav ul{gap:0;justify-content:center;flex-wrap:wrap}
 nav a{display:block;padding:.55rem .75rem;font-size:1rem}
 .hero.hero-img.home{padding:2.2rem 0 9rem}
 .plate{padding:1.2rem 1.4rem}
 .paper{padding:2.6rem 0}
 .foot{flex-direction:column;align-items:center;text-align:center}
 .cta .btn{flex:1 1 auto;text-align:center}
}
body{display:flex;flex-direction:column;min-height:100vh}main{flex:1 0 auto;display:flex;flex-direction:column}main>section:last-child{flex:1 0 auto}
.center .cta{justify-content:center}
