:root{--cream:#fbf6ea;--parch:#f3e9d2;--gold:#b48a3c;--gold-l:#d6b46a;--brown:#4a2f1b;--brown-m:#6e4a2e;--ink:#3b2716}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font:400 1.18rem/1.7 "Cormorant Garamond",Georgia,serif;
background:var(--cream) radial-gradient(ellipse at 20% 0%,#fffdf6 0,transparent 60%),radial-gradient(ellipse at 80% 100%,#f1e4c8 0,transparent 55%);background-attachment:fixed}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.35;
background-image:repeating-linear-gradient(0deg,rgba(120,90,40,.035) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(120,90,40,.025) 0 1px,transparent 1px 4px)}
a{color:var(--brown-m);text-decoration-color:var(--gold-l);text-underline-offset:3px}a:hover{color:var(--gold)}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;color:var(--brown);font-weight:500;line-height:1.2;margin:.2em 0}
h1{font-size:clamp(2.2rem,5vw,3.6rem);letter-spacing:.02em}h2{font-size:clamp(1.7rem,3.5vw,2.4rem)}h3{font-size:1.3rem}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}.narrow{max-width:760px}.center{text-align:center}
section{padding:64px 0}
.script{font-family:"Pinyon Script",cursive;color:var(--gold);font-size:1.7rem;margin:0;line-height:1.2}.script.big{font-size:2.3rem}
.ornament{display:flex;justify-content:center;margin:14px auto 18px}.ornament svg{width:240px;height:24px;fill:none;stroke:var(--gold);stroke-width:1.2}.ornament circle{fill:var(--gold)}
.lede{font-size:1.35rem;font-style:italic;color:var(--brown-m);max-width:640px;margin:0 auto}
.topbar{background:var(--brown);color:#f1e4c8;font-size:.95rem;text-align:center;padding:6px 0;letter-spacing:.04em}.topbar a{color:var(--gold-l)}
.site-header{background:rgba(251,246,234,.96);border-bottom:1px solid var(--gold-l);box-shadow:0 1px 0 #fff,0 4px 0 -3px var(--gold-l);position:sticky;top:0;z-index:10}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 24px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.brand img{width:92px;height:92px;object-fit:contain}
.bname{font-family:"Playfair Display",serif;font-size:1.8rem;color:var(--brown);line-height:1}.bname small{display:block;font-family:"Cormorant Garamond",serif;font-size:.95rem;letter-spacing:.42em;text-transform:uppercase;color:var(--gold);margin-top:6px}
nav{display:flex;gap:4px;flex-wrap:wrap}
.site-header nav a{text-decoration:none;color:var(--brown);font-size:.98rem;letter-spacing:.05em;text-transform:uppercase;padding:6px 7px;border-bottom:1px solid transparent}
.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--gold);border-bottom-color:var(--gold)}
.navtoggle,.burger{display:none}
.hero{padding:56px 0 64px}.hero-frame{display:inline-block;padding:14px;border:1px solid var(--gold-l);outline:1px solid var(--gold-l);outline-offset:6px;border-radius:50%;background:#fffdf7;margin-bottom:22px}
.hero-logo{width:220px;height:220px;object-fit:contain;display:block}
.actions{margin-top:28px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:12px 28px;background:var(--brown);color:#fbf6ea;text-decoration:none;font-family:"Playfair Display",serif;letter-spacing:.06em;border:1px solid var(--brown);outline:1px solid var(--gold-l);outline-offset:3px;font-size:1rem;cursor:pointer}
.btn:hover{background:var(--brown-m);color:#fff}.btn.ghost{background:transparent;color:var(--brown)}
.band{background:linear-gradient(var(--parch),#efe2c4);border-top:1px solid var(--gold-l);border-bottom:1px solid var(--gold-l)}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;text-align:center}
.art{width:84px;height:112px;fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.feat p{margin:.3em 0}
.card{display:block;position:relative;background:#fffcf4;border:1px solid var(--gold-l);padding:28px;box-shadow:inset 0 0 0 5px #fffcf4,inset 0 0 0 6px rgba(214,180,106,.55)}
.card.link{text-decoration:none;color:inherit;transition:transform .2s}.card.link:hover{transform:translateY(-3px)}.card p{margin:.4em 0 0}
.links{display:grid;grid-template-columns:1fr 1fr;gap:22px;text-align:left;margin-top:16px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid.two{grid-template-columns:1fr 1fr;max-width:860px;margin:0 auto}
.tag{display:inline-block;font-family:"Cormorant Garamond",serif;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brown);border:1px solid var(--gold);padding:2px 10px;background:#f6ebcf;font-style:normal}
.list{list-style:none;padding:0;margin:10px 0 0}.list li{padding:6px 0 6px 24px;border-bottom:1px dotted var(--gold-l);position:relative}.list li:before{content:"❧";position:absolute;left:0;color:var(--gold)}
.page-head{padding:52px 0 36px;text-align:center;border-bottom:1px solid var(--gold-l);background:linear-gradient(#fffaf0,transparent)}
.ph{display:flex;align-items:center;justify-content:center;gap:48px}.ph .flip{transform:scaleX(-1)}
.prose p{margin:0 0 1em}.dropcap:first-letter{float:left;font-family:"Playfair Display",serif;font-size:4.2rem;line-height:.85;padding:6px 10px 0 0;color:var(--gold)}
.highlights{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:28px}
.highlights li{border:1px solid var(--gold);padding:6px 16px;letter-spacing:.12em;text-transform:uppercase;font-size:.9rem;color:var(--brown)}
.cta{background:linear-gradient(var(--parch),#efe2c4);border-top:1px solid var(--gold-l)}
.more{margin-top:32px}.tall{padding:40px}
.widget-slot{margin-top:24px;min-height:260px;border:2px dashed var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold);font-style:italic;background:repeating-linear-gradient(45deg,transparent 0 12px,rgba(214,180,106,.08) 12px 24px)}
.note{font-style:italic;color:var(--brown-m)}
.form{margin-top:20px}.form fieldset{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form label{display:flex;flex-direction:column;font-size:1rem;letter-spacing:.06em;color:var(--brown)}
.form input,.form select{margin-top:6px;padding:10px;font:inherit;border:1px solid var(--gold-l);background:#f7f1e3;color:#8a7a66}
.form button{grid-column:1/-1;justify-self:center;opacity:.65;cursor:not-allowed}.small{font-size:.95rem;color:var(--brown-m);text-align:center}
.split{display:grid;grid-template-columns:1fr 1.2fr;gap:36px;align-items:start}
dl{margin:0}dt{font-family:"Playfair Display",serif;color:var(--gold);font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;margin-top:14px}dt:first-child{margin-top:0}dd{margin:2px 0 0;font-size:1.2rem}
.map iframe{width:100%;height:420px;border:1px solid var(--gold-l);padding:6px;background:#fffcf4}.map a{display:block;margin-top:8px}
footer{background:var(--brown);color:#efe2c8;text-align:center;padding:48px 0 28px;border-top:4px double var(--gold)}
footer a{color:var(--gold-l)}footer p{margin:.3em 0}.foot-logo{width:84px;height:84px;object-fit:contain;background:#fbf6ea;border-radius:50%;padding:6px;border:1px solid var(--gold)}
.foot-name{font-family:"Playfair Display",serif;font-size:1.6rem;color:#fbf6ea}footer .small{color:#cdb894;margin-top:18px}
.foot-nav{justify-content:center;gap:16px;margin:16px 0}.foot-nav a{text-decoration:none;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:900px){.grid{grid-template-columns:1fr 1fr}.ph .art{display:none}}
@media(max-width:760px){
.site-header{position:static}.brand img{width:64px;height:64px}.bname{font-size:1.4rem}
.burger{display:block;border:1px solid var(--gold);padding:6px 12px;color:var(--brown);cursor:pointer}
.site-header nav{display:none;width:100%;flex-direction:column}.navtoggle:checked~nav{display:flex}
.site-header nav a{border-bottom:1px solid rgba(214,180,106,.4)}
.features,.links,.grid,.grid.two,.split,.form fieldset{grid-template-columns:1fr}
.hero-logo{width:160px;height:160px}section{padding:44px 0}.topbar{font-size:.8rem}}
.affil{text-align:center;margin-top:40px}.affil .script{margin:0 0 10px}
.badge{display:inline-block;font-family:"Playfair Display",serif;font-style:italic;border:1px solid var(--gold);outline:1px solid var(--gold);outline-offset:3px;padding:6px 18px;color:var(--brown);letter-spacing:.04em}
.badge.foot{color:#fbf6ea;font-size:.95rem;margin-top:12px}
.prose h3.center{text-align:center}
.prose .list{margin-bottom:24px}
