
:root{
  --jasper:#2F5179;
  --jasper-deep:#21405F;
  --gold:#A98A45;
  --gold-light:#CBAE6B;
  --porcelain:#F7F5F0;
  --mist:#E9EEF3;
  --ink:#26313B;
  --slate:#5E6E7C;
  --line:#D5DCE3;
  --line-soft:#E3E8ED;
  --measure:660px;
  --maxw:1060px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  background:var(--porcelain);color:var(--ink);
  font-family:"EB Garamond",Georgia,serif;font-size:19px;line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--gold-light);color:var(--jasper-deep)}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;line-height:1.1;color:var(--jasper)}
p{margin:0 0 1.1em}
a{color:var(--jasper)}
img{max-width:100%;height:auto;display:block}
.sc{font-family:"Cormorant SC","Cormorant Garamond",serif;text-transform:uppercase;letter-spacing:.24em;font-size:12.5px;color:var(--gold)}

/* ---------- masthead ---------- */
.masthead{border-bottom:1px solid var(--line);background:var(--porcelain);position:relative;z-index:20}
.masthead-in{max-width:var(--maxw);margin:0 auto;padding:22px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none}
.brand svg,.brand img.mk{width:34px;height:34px;flex:none}
.footer-in .fmark img{width:38px;height:38px;flex:none}
.brand .bt b{display:block;font-family:"Cormorant Garamond",serif;font-weight:600;font-size:21px;color:var(--jasper-deep);line-height:1.05;letter-spacing:.01em}
.brand .bt span{display:block;font-family:"Cormorant SC",serif;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);margin-top:3px}
.nav{display:flex;align-items:center;gap:24px;list-style:none}
.nav a{
  text-decoration:none;color:var(--slate);font-family:"Cormorant SC",serif;
  font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;
  padding-bottom:3px;border-bottom:1px solid transparent;transition:color .25s,border-color .25s
}
.nav a:hover{color:var(--jasper-deep)}
.nav a.current{color:var(--jasper-deep);border-color:var(--gold)}
.navbtn{display:none;background:none;border:1px solid var(--line);color:var(--jasper-deep);
  font-family:"Cormorant SC",serif;letter-spacing:.16em;text-transform:uppercase;font-size:11.5px;padding:8px 14px;cursor:pointer}

/* ---------- frontispiece (index) ---------- */
.front{min-height:calc(100svh - 78px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:70px 24px}
.front .crest{width:170px;height:206px;margin-bottom:8px}
.front .crest img{width:150px;height:auto;margin:0 auto}
.front h1{font-size:clamp(38px,5.6vw,68px);font-weight:500;color:var(--jasper-deep);letter-spacing:.01em}
.front .nl{font-style:italic;font-family:"Cormorant Garamond",serif;font-size:clamp(18px,2.6vw,25px);color:var(--slate);margin-top:8px}
.front .rule{width:64px;height:1px;background:var(--gold);margin:34px auto}
.front .def{max-width:560px;margin:0 auto;font-size:20px;line-height:1.7;color:var(--ink)}
.front .estd{margin-top:36px}
.front .down{margin-top:52px;color:var(--gold);font-size:20px;text-decoration:none;opacity:.8}

/* ---------- page head ---------- */
.page-head{max-width:var(--maxw);margin:0 auto;padding:74px 32px 0;text-align:left}
.page-head h1{font-size:clamp(40px,5.4vw,62px);margin-top:16px}
.page-head .hr{height:1px;background:var(--line);margin:38px 0 0}
main{max-width:var(--maxw);margin:0 auto;padding:50px 32px 90px}
.measure{max-width:var(--measure)}
.lead{font-size:21.5px;line-height:1.65}
.section-title{font-size:29px;margin:52px 0 14px}
.section-title:first-child{margin-top:0}

/* ---------- index sections ---------- */
.strip{border-top:1px solid var(--line)}
.strip-in{max-width:var(--maxw);margin:0 auto;padding:78px 32px}
.duo{display:grid;grid-template-columns:280px 1fr;gap:56px;align-items:start}
.duo .side{position:sticky;top:32px}
.duo .side .sc{display:block;margin-bottom:12px}
.duo .side h2{font-size:32px}
.quiet-links{list-style:none;margin-top:6px}
.quiet-links li{border-top:1px solid var(--line-soft)}
.quiet-links li:last-child{border-bottom:1px solid var(--line-soft)}
.quiet-links a{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:19px 2px;text-decoration:none}
.quiet-links .t{font-family:"Cormorant Garamond",serif;font-size:24px;color:var(--ink);transition:color .25s}
.quiet-links a:hover .t{color:var(--jasper)}
.quiet-links .d{font-style:italic;color:var(--slate);font-size:15.5px;text-align:right}

/* ---------- plates ---------- */
figure.plate{margin:38px 0;max-width:420px}
figure.plate.narrow{max-width:340px}
figure.plate .frame{border:1px solid var(--line);padding:14px;background:#fff}
figure.plate figcaption{margin-top:12px;font-size:14px;font-style:italic;color:var(--slate);line-height:1.55}
figure.plate figcaption b{font-style:normal;font-weight:500;color:var(--ink)}
.plate-fallback{display:none;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:280px;text-align:center;padding:22px;background:var(--mist)}
.plate-fallback svg{width:70px;height:auto;opacity:.9}
.plate-fallback .pf{font-family:"Cormorant Garamond",serif;font-size:19px;color:var(--jasper)}

blockquote{margin:34px 0;padding:0 0 0 26px;border-left:2px solid var(--gold);font-style:italic;color:#3D4B58;font-size:18px;line-height:1.75}
blockquote .cite{display:block;font-style:normal;margin-top:16px;line-height:1.6}
.trans{margin:26px 0 34px;font-size:18px;color:var(--ink)}
.trans .lbl{display:block;margin-bottom:8px}

/* ---------- facts ---------- */
.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:44px 0;padding:8px 0}
.facts dl{display:grid;grid-template-columns:190px 1fr}
.facts dt{padding:13px 0;font-family:"Cormorant SC",serif;text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:var(--gold);align-self:center}
.facts dd{padding:13px 0;font-size:18px;border-bottom:1px solid var(--line-soft)}
.facts dt{border-bottom:1px solid var(--line-soft)}
.facts dt:last-of-type,.facts dd:last-of-type{border-bottom:0}

/* ---------- rosters, lineage, lists ---------- */
.roster .o{display:grid;grid-template-columns:250px 1fr;gap:26px;padding:22px 0;border-top:1px solid var(--line-soft)}
.roster .o:last-child{border-bottom:1px solid var(--line-soft)}
.roster .role{font-family:"Cormorant SC",serif;text-transform:uppercase;letter-spacing:.14em;font-size:12.5px;color:var(--gold);padding-top:5px}
.roster .who{font-family:"Cormorant Garamond",serif;font-size:23px;color:var(--ink);line-height:1.3}
.roster .who small{display:block;font-family:"EB Garamond",serif;font-style:italic;font-size:15px;color:var(--slate);margin-top:3px}
.roster .who a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.roster .who a:hover{color:var(--jasper)}

.lineage{list-style:none;border-top:1px solid var(--line-soft)}
.lineage li{padding:16px 0;border-bottom:1px solid var(--line-soft);display:flex;justify-content:space-between;gap:20px;align-items:baseline}
.lineage .nm{font-family:"Cormorant Garamond",serif;font-size:21px;color:var(--ink)}
.lineage .nt{font-style:italic;color:var(--slate);font-size:15.5px;text-align:right}

.biblio{list-style:none;counter-reset:bib}
.biblio li{display:grid;grid-template-columns:44px 1fr;gap:18px;padding:17px 0;border-top:1px solid var(--line-soft);counter-increment:bib}
.biblio li:last-child{border-bottom:1px solid var(--line-soft)}
.biblio li::before{content:counter(bib,upper-roman);font-family:"Cormorant SC",serif;font-size:14px;color:var(--gold);padding-top:4px;letter-spacing:.06em}
.biblio .ref{font-size:17px;line-height:1.65}
.biblio .ref i{font-style:italic}
.biblio .ref a{color:var(--jasper);text-decoration:none;border-bottom:1px solid var(--line)}
.biblio .ref a:hover{border-color:var(--jasper)}

.notices{list-style:none}
.notices li{display:grid;grid-template-columns:150px 1fr;gap:28px;padding:24px 0;border-top:1px solid var(--line-soft)}
.notices li:last-child{border-bottom:1px solid var(--line-soft)}
.notices .date{font-family:"Cormorant SC",serif;text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--gold);padding-top:6px}
.notices h3{font-size:23px;margin-bottom:6px;color:var(--jasper)}
.notices p{font-size:17.5px;margin:0}

.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.cols .lbl{margin-bottom:9px;display:block}
.cols p{font-size:18px;margin:0}
.cols a{text-decoration:none;border-bottom:1px solid var(--line)}
.cols a:hover{color:var(--jasper)}

/* ---------- membership note ---------- */
.member{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0;margin:52px 0 0}
.member p{font-family:"Cormorant Garamond",serif;font-size:23px;font-style:italic;color:var(--jasper-deep);margin:0;line-height:1.55}

/* ---------- footer ---------- */
footer{background:var(--jasper-deep);color:var(--porcelain);margin-top:40px}
.footer-in{max-width:var(--maxw);margin:0 auto;padding:52px 32px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px;align-items:center}
.footer-in .fmark{display:flex;align-items:center;gap:14px}
.footer-in .fmark svg{width:34px;height:34px}
.footer-in .fname{font-family:"Cormorant Garamond",serif;font-size:20px;line-height:1.3}
.footer-in .fname span{display:block;font-style:italic;color:var(--gold-light);font-size:15px}
.footer-in .faddr{font-size:14.5px;color:rgba(247,245,240,.75);text-align:right;line-height:1.65}
.footer-in .faddr a{color:var(--gold-light);text-decoration:none}
.footer-bar{border-top:1px solid rgba(203,174,107,.28)}
.footer-bar div{max-width:var(--maxw);margin:0 auto;padding:15px 32px;font-family:"Cormorant SC",serif;text-transform:uppercase;letter-spacing:.16em;font-size:10.5px;color:rgba(247,245,240,.5)}

/* ---------- responsive ---------- */
@media(max-width:840px){
  body{font-size:18px}
  .navbtn{display:inline-block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--porcelain);
    flex-direction:column;align-items:flex-start;gap:0;border-bottom:1px solid var(--line);z-index:30}
  .nav.open{display:flex}
  .nav li{width:100%}
  .nav a{display:block;width:100%;padding:15px 32px;border-bottom:1px solid var(--line-soft);font-size:13px}
  .duo{grid-template-columns:1fr;gap:24px}
  .duo .side{position:static}
  .facts dl{grid-template-columns:1fr}
  .facts dt{border-bottom:0;padding-bottom:2px}
  .facts dd{padding-top:2px}
  .roster .o,.notices li{grid-template-columns:1fr;gap:8px}
  .cols{grid-template-columns:1fr;gap:26px}
  .footer-in{flex-direction:column;align-items:flex-start}
  .footer-in .faddr{text-align:left}
  .lineage li{flex-direction:column;gap:2px}
  .lineage .nt{text-align:left}
  .quiet-links .d{display:none}
}
