/* ============================================================
   Society of Antiquartists — site stylesheet
   Palette: paper #FBFAF6 · ink #1C1B17 · Egyptian blue #20409A
            verdigris #3E7C6B · bone #EDE9DE
   Type: Cinzel (display) · EB Garamond (body) · IBM Plex Mono (utility)
   ============================================================ */
:root{
  --paper:#FBFAF6; --ink:#1C1B17; --lapis:#20409A; --lapis-deep:#162E71;
  --verdigris:#3E7C6B; --bone:#EDE9DE; --hairline:#D8D3C4;
  --mono:'IBM Plex Mono',monospace; --serif:'EB Garamond',Georgia,serif; --display:'Cinzel',serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation:none!important;transition:none!important;}
}
body{background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:1.125rem;line-height:1.65;}
img,svg{max-width:100%;height:auto;}
a{color:var(--lapis);}
a:focus-visible,button:focus-visible{outline:2px solid var(--lapis);outline-offset:3px;}

/* ————— Masthead ————— */
header.site{border-bottom:1px solid var(--hairline);background:var(--paper);}
.masthead{max-width:1160px;margin:0 auto;padding:1.1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.wordmark{font-family:var(--display);font-weight:600;font-size:1.02rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:.7rem;}
.wordmark img{width:36px;height:36px;}
nav.primary ul{display:flex;gap:1.8rem;list-style:none;flex-wrap:wrap;align-items:center;}
nav.primary a{font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--ink);}
nav.primary a:hover{color:var(--lapis);}
nav.primary a[aria-current="page"]{color:var(--lapis);border-bottom:1px solid var(--lapis);padding-bottom:2px;}
.join-btn{font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;background:var(--lapis);color:var(--paper)!important;text-decoration:none;padding:.65rem 1.3rem;border:1px solid var(--lapis);}
.join-btn:hover{background:var(--lapis-deep);}

/* ————— Buttons ————— */
.btn-primary{display:inline-block;font-family:var(--mono);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;background:var(--lapis);color:var(--paper);text-decoration:none;padding:.9rem 1.8rem;border:1px solid var(--lapis);cursor:pointer;}
.btn-primary:hover{background:var(--lapis-deep);}
.btn-ghost{display:inline-block;font-family:var(--mono);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:.9rem 1.8rem;border:1px solid var(--ink);}
.btn-ghost:hover{border-color:var(--lapis);color:var(--lapis);}

/* ————— Page scaffolding ————— */
.eyebrow{font-family:var(--mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--verdigris);margin-bottom:1.4rem;}
section.band{border-top:1px solid var(--hairline);}
.section-inner{max-width:1160px;margin:0 auto;padding:4.5rem 1.5rem;}
.section-label{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--verdigris);margin-bottom:1.6rem;}
h1.page-title{font-family:var(--display);font-weight:500;font-size:clamp(2rem,4.5vw,3.2rem);letter-spacing:.04em;line-height:1.12;}
h3.section-title,h2.section-title{font-family:var(--display);font-weight:500;font-size:clamp(1.6rem,3vw,2.3rem);letter-spacing:.03em;margin-bottom:1.4rem;max-width:26ch;}
.prose{max-width:66ch;font-size:1.2rem;line-height:1.65;}
.prose + .prose{margin-top:1.1rem;}
.page-head{max-width:1160px;margin:0 auto;padding:4rem 1.5rem 3.5rem;}
.page-head .prose{margin-top:1.2rem;}

/* ————— Hero (home) ————— */
.hero{max-width:1160px;margin:0 auto;padding:5rem 1.5rem 4.5rem;display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:center;}
.hero h1{font-family:var(--display);font-weight:500;font-size:clamp(2.4rem,5vw,3.9rem);letter-spacing:.04em;line-height:1.08;}
.hero h1 .interpunct{color:var(--lapis);}
.pos{font-style:italic;font-size:1.15rem;color:#5c584c;margin:.9rem 0 1.1rem;}
.definition{font-size:1.3rem;line-height:1.55;max-width:34ch;}
.hero-actions{margin-top:2.2rem;display:flex;gap:1rem;flex-wrap:wrap;align-items:center;}

/* ————— Object record card ————— */
.record{background:#fff;border:1px solid var(--hairline);box-shadow:0 1px 0 var(--hairline),0 14px 30px -18px rgba(28,27,23,.25);padding:1.8rem 1.9rem 1.6rem;position:relative;font-family:var(--mono);transform:rotate(.6deg);}
.record::before{content:"";position:absolute;inset:7px;border:1px solid var(--bone);pointer-events:none;}
.record h2{font-family:var(--mono);font-weight:500;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lapis);border-bottom:1px solid var(--hairline);padding-bottom:.7rem;margin-bottom:1rem;}
.record dl{display:grid;grid-template-columns:auto 1fr;gap:.55rem 1.1rem;font-size:.8rem;line-height:1.5;}
.record dt{color:#8a8574;letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;padding-top:.1em;}
.record dd{color:var(--ink);}
.record .stamp{position:absolute;right:1.2rem;bottom:1.1rem;font-family:var(--display);font-size:.62rem;letter-spacing:.14em;color:var(--verdigris);border:1.5px solid var(--verdigris);border-radius:50%;width:76px;height:76px;display:grid;place-items:center;text-align:center;transform:rotate(-8deg);opacity:.85;padding:.4rem;}

/* ————— Curriculum entries ————— */
.curriculum{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline);margin-top:2.5rem;}
.entry{background:var(--paper);padding:2.2rem 2rem 2.4rem;color:inherit;text-decoration:none;display:block;}
a.entry:hover{background:#fff;}
.acc-no{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;color:var(--lapis);display:block;margin-bottom:.9rem;}
.entry h4,.entry h3{font-family:var(--display);font-weight:500;font-size:1.25rem;letter-spacing:.03em;margin-bottom:.7rem;}
.entry p{font-size:1.05rem;line-height:1.6;color:#3c3a32;}

/* ————— Discipline detail (education page) ————— */
.discipline{border-top:1px solid var(--hairline);}
.discipline .section-inner{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;}
.discipline h2{font-family:var(--display);font-weight:500;font-size:1.7rem;letter-spacing:.03em;margin:.5rem 0 1rem;}
.discipline .lead{font-size:1.18rem;color:#2e2c25;}
.learn-list{list-style:none;display:grid;gap:.9rem;margin-top:.4rem;}
.learn-list li{padding-left:1.6rem;position:relative;font-size:1.08rem;}
.learn-list li::before{content:"◆";position:absolute;left:0;color:var(--lapis);font-size:.7rem;top:.4em;}
.learn-label{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--verdigris);margin-bottom:1rem;}

/* ————— Ethics band ————— */
.ethics{background:var(--lapis);color:var(--paper);}
.ethics .section-label{color:#9FB3E8;}
.ethics .section-title{color:var(--paper);}
.tenets{margin-top:2.4rem;display:grid;gap:0;max-width:820px;}
.tenet{display:grid;grid-template-columns:64px 1fr;gap:1.4rem;padding:1.5rem 0;border-top:1px solid rgba(251,250,246,.25);}
.tenet:last-child{border-bottom:1px solid rgba(251,250,246,.25);}
.tenet .numeral{font-family:var(--display);font-size:1.5rem;color:#9FB3E8;line-height:1.2;}
.tenet p{font-size:1.12rem;line-height:1.6;}
.tenet strong{font-weight:600;color:#fff;}
.ethics .btn-ghost{color:var(--paper);border-color:rgba(251,250,246,.6);margin-top:2.2rem;}
.ethics .btn-ghost:hover{border-color:#fff;color:#fff;}

/* ————— Charter (code of ethics page) ————— */
.charter-wrap{max-width:900px;margin:4rem auto 5rem;padding:0 1.5rem;}
.charter{background:#fff;border:1px solid var(--hairline);box-shadow:0 1px 0 var(--hairline),0 24px 50px -30px rgba(28,27,23,.3);padding:4.5rem 4rem 4rem;position:relative;}
.charter::before{content:"";position:absolute;inset:14px;border:1px solid var(--lapis);pointer-events:none;opacity:.35;}
.charter::after{content:"";position:absolute;inset:19px;border:1px solid var(--lapis);pointer-events:none;opacity:.18;}
.charter-head{text-align:center;margin-bottom:3rem;}
.charter-head img{width:150px;height:150px;margin-bottom:2rem;}
.charter-head .eyebrow{letter-spacing:.2em;margin-bottom:1rem;}
.charter-head h1{font-family:var(--display);font-weight:500;font-size:clamp(1.9rem,4.5vw,3rem);letter-spacing:.06em;line-height:1.15;}
.charter-head .rule{width:120px;height:1px;background:var(--lapis);margin:1.6rem auto;position:relative;}
.charter-head .rule::before{content:"◆";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--lapis);font-size:.55rem;background:#fff;padding:0 .5rem;}
.preamble{font-style:italic;font-size:1.25rem;line-height:1.7;text-align:center;max-width:56ch;margin:0 auto 3.2rem;color:#2e2c25;}
.preamble .smallcaps{font-style:normal;font-variant:small-caps;letter-spacing:.04em;}
.article{display:grid;grid-template-columns:96px 1fr;gap:2rem;padding:2.1rem 0;border-top:1px solid var(--hairline);}
.article:last-of-type{border-bottom:1px solid var(--hairline);}
.article .numeral{font-family:var(--display);font-weight:500;font-size:2.4rem;color:var(--lapis);line-height:1;text-align:center;padding-top:.2rem;}
.article .numeral small{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#8a8574;margin-top:.55rem;}
.article h2{font-family:var(--display);font-weight:500;font-size:1.3rem;letter-spacing:.04em;margin-bottom:.6rem;}
.article p{font-size:1.13rem;color:#2e2c25;}
.article p + p{margin-top:.7rem;}
.affirmation{margin-top:3.2rem;text-align:center;}
.affirmation p{font-style:italic;font-size:1.15rem;max-width:52ch;margin:0 auto 2.6rem;color:#2e2c25;}
.sig-block{display:flex;justify-content:center;gap:4rem;flex-wrap:wrap;}
.sig{width:260px;}
.sig .line{border-bottom:1px solid var(--ink);height:2.4rem;}
.sig .label{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#8a8574;margin-top:.5rem;}
.adopted{margin-top:3rem;font-family:var(--mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--verdigris);text-align:center;}

/* ————— Membership ————— */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline);margin-top:2.5rem;}
.tier{background:#fff;padding:2.4rem 2rem;display:flex;flex-direction:column;}
.tier.featured{background:var(--paper);border-top:3px solid var(--lapis);}
.tier .tier-name{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--verdigris);margin-bottom:1rem;}
.tier .price{font-family:var(--display);font-size:2rem;letter-spacing:.03em;}
.tier .per{font-family:var(--mono);font-size:.72rem;color:#8a8574;letter-spacing:.08em;text-transform:uppercase;}
.tier ul{list-style:none;display:grid;gap:.85rem;margin:1.4rem 0 1.8rem;flex-grow:1;}
.tier li{padding-left:1.6rem;position:relative;font-size:1.02rem;}
.tier li::before{content:"◆";position:absolute;left:0;color:var(--lapis);font-size:.7rem;top:.35em;}
.faq{max-width:820px;}
.faq details{border-top:1px solid var(--hairline);padding:1.2rem 0;}
.faq details:last-child{border-bottom:1px solid var(--hairline);}
.faq summary{font-family:var(--display);font-size:1.15rem;letter-spacing:.02em;cursor:pointer;}
.faq summary:hover{color:var(--lapis);}
.faq p{margin-top:.8rem;max-width:64ch;color:#2e2c25;}

/* ————— About / founder ————— */
.founder{display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:start;max-width:760px;margin-top:2.2rem;padding:2rem;background:#fff;border:1px solid var(--hairline);}
.founder .portrait{width:88px;height:88px;border-radius:50%;background:var(--bone);border:1px solid var(--hairline);display:grid;place-items:center;font-family:var(--display);font-size:1.6rem;color:var(--lapis);}
.founder h4{font-family:var(--display);font-weight:500;font-size:1.2rem;letter-spacing:.03em;}
.founder .role{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--verdigris);margin:.3rem 0 .8rem;}
.founder p{font-size:1.05rem;color:#2e2c25;}

/* ————— CTA band ————— */
.cta-band{background:var(--bone);border-top:1px solid var(--hairline);}
.cta-band .section-inner{text-align:center;padding:4rem 1.5rem;}
.cta-band .section-title{margin-left:auto;margin-right:auto;}
.cta-band .prose{margin:0 auto 2rem;}

/* ————— Footer ————— */
footer.site{border-top:1px solid var(--hairline);background:var(--bone);}
.footer-inner{max-width:1160px;margin:0 auto;padding:2.6rem 1.5rem;display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;color:#5c584c;}
.footer-inner a{color:#5c584c;text-decoration:none;}
.footer-inner a:hover{color:var(--lapis);}

/* ————— Responsive ————— */
@media (max-width:880px){
  .hero{grid-template-columns:1fr;gap:3rem;padding-top:3.5rem;}
  .curriculum{grid-template-columns:1fr;}
  .discipline .section-inner{grid-template-columns:1fr;gap:1.6rem;}
  .tiers{grid-template-columns:1fr;}
}
@media (max-width:700px){
  .charter{padding:3rem 1.6rem 2.8rem;}
  .article{grid-template-columns:1fr;gap:.8rem;}
  .article .numeral{text-align:left;display:flex;align-items:baseline;gap:.9rem;}
  .founder{grid-template-columns:1fr;}
}

/* ————— Founding list signup form ————— */
.signup-form{display:grid;gap:1.1rem;margin-top:.4rem;}
.signup-form label{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#5c584c;}
.signup-form input,.signup-form textarea{display:block;width:100%;margin-top:.45rem;padding:.7rem .8rem;font-family:var(--serif);font-size:1.05rem;color:var(--ink);background:var(--paper);border:1px solid var(--hairline);border-radius:0;}
.signup-form input:focus,.signup-form textarea:focus{outline:2px solid var(--lapis);outline-offset:1px;border-color:var(--lapis);}
.signup-form textarea{resize:vertical;}
.signup-form button{width:100%;}
.form-status{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;color:var(--verdigris);min-height:1.2em;margin:0;}
.form-status.error{color:#9c3a2e;}
.signup-success{text-align:center;padding:1.2rem 0 .4rem;}
.signup-success .seal-check{font-family:var(--display);font-size:.7rem;letter-spacing:.14em;color:var(--verdigris);border:1.5px solid var(--verdigris);border-radius:50%;width:84px;height:84px;display:grid;place-items:center;margin:0 auto 1.2rem;transform:rotate(-8deg);}
.signup-success h4{font-family:var(--display);font-weight:500;font-size:1.3rem;letter-spacing:.03em;margin-bottom:.5rem;}
.signup-success p{font-size:1.05rem;color:#3c3a32;}

/* Founder portrait photo (replaces the monogram placeholder when present) */
.founder img.portrait{width:120px;height:120px;border-radius:50%;object-fit:cover;border:1px solid var(--hairline);box-shadow:0 0 0 4px var(--paper),0 0 0 5px var(--lapis);}
.founder p + p{margin-top:.7rem;}
