/* Roberts WebWorks sample template: Ledger */
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Serif:wght@500;600&display=swap");
:root{--slate:#18222f;--slate2:#223044;--brass:#b08d57;--ink:#1c2430;--bg:#f4f2ee;--line:#dcd7cd}
*{box-sizing:border-box}body{margin:0;font-family:"IBM Plex Sans",system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}
a{color:#7a5a26}

.shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}
.sidebar{background:var(--slate);color:#d6dbe3;padding:2rem 1.5rem;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:1.8rem}
.brand{display:flex;flex-direction:column;gap:.3rem;text-decoration:none;color:#fff}
.mark{width:54px;height:54px;border-radius:50%;border:2px solid var(--brass);display:grid;place-items:center;font:600 1.5rem "IBM Plex Serif";color:var(--brass);margin-bottom:.4rem}
.bn{font:600 1.35rem/1.15 "IBM Plex Serif"}.bo{font-size:.78rem;color:#9aa6b6;text-transform:uppercase;letter-spacing:.1em}
.links{list-style:none;margin:0;padding:0;border-top:1px solid #2f3e54}
.links a{display:block;padding:.7rem .4rem;color:#d6dbe3;text-decoration:none;border-bottom:1px solid #2f3e54;font-weight:500}
.links a[aria-current],.links a:hover{color:#fff;box-shadow:inset 3px 0 var(--brass);padding-left:.9rem}
.side-cta{text-align:center}.side-foot{margin-top:auto;font-size:.7rem;letter-spacing:.14em;color:#6f7d91;text-transform:uppercase}
.main{min-width:0}.main>.section,.main>section{padding-left:clamp(1.25rem,4vw,3.5rem);padding-right:clamp(1.25rem,4vw,3.5rem)}
.main .wrap{width:auto;max-width:980px;margin:0}
.brief{padding-top:3rem;padding-bottom:2rem;border-bottom:1px solid var(--line);background:#fff}
.brief-head{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:2.5rem;align-items:center;max-width:1000px}
.kicker{font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#7a5a26;margin:0 0 .5rem}
.brief h1{font:600 clamp(2.6rem,5vw,4rem)/1 "IBM Plex Serif";margin:0 0 .8rem;color:var(--slate)}
.lede{font-size:1.12rem;color:#4b5667;max-width:52ch;margin:0 0 1.4rem}
.brass-ph{aspect-ratio:4/5;background:#e6e1d6;border:1px solid var(--line);display:grid;place-items:center;position:relative;overflow:hidden}
.brass-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mono{font:600 3.5rem "IBM Plex Serif";color:#b9ae98}
.ctas{display:flex;gap:.7rem;flex-wrap:wrap}
.btn{display:inline-block;padding:.75rem 1.2rem;font:600 .92rem "IBM Plex Sans";text-decoration:none;border:1px solid var(--slate);border-radius:3px;cursor:pointer}
.btn-primary{background:var(--brass);border-color:var(--brass);color:var(--slate)}.btn-primary:hover{background:#c9a56c}
.btn-ghost{color:var(--slate);background:transparent}.btn-ghost:hover{background:var(--slate);color:#fff}
.tracker{padding-top:2.5rem;padding-bottom:2rem}
.tracker-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;max-width:1000px}
.tracker h2{font:600 1.6rem "IBM Plex Serif";margin:0}.tracker-head p{margin:0;color:#5b6677;font-size:.9rem}
.table-wrap{overflow-x:auto;max-width:1000px;margin-top:1rem;background:#fff;border:1px solid var(--line)}
table{width:100%;border-collapse:collapse;font-size:.95rem}
th{text-align:left;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#6b7686;background:#faf8f4;padding:.7rem 1rem;border-bottom:1px solid var(--line)}
td{padding:.85rem 1rem;border-bottom:1px solid #eee9df;vertical-align:top}td a{color:var(--ink);font-weight:500;text-decoration:none}td a:hover{color:#7a5a26;text-decoration:underline}
td.id{font-family:ui-monospace,Menlo,monospace;font-size:.82rem;color:#7a5a26;white-space:nowrap}
.chip{display:inline-block;font-size:.72rem;font-weight:600;padding:.15rem .55rem;border-radius:99px;background:#efe6d4;color:#6b4f22;white-space:nowrap}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding-bottom:3rem;max-width:1000px;box-sizing:content-box}
.tile{background:#fff;border:1px solid var(--line);padding:1.2rem;text-decoration:none;color:var(--ink);border-top:3px solid var(--brass)}
.tile h3{font:600 1.1rem "IBM Plex Serif";margin:0 0 .3rem}.tile p{margin:0;font-size:.9rem;color:#5b6677}.tile:hover{border-color:var(--slate)}
.section{padding-top:3rem;padding-bottom:3rem}.section-head h2{font:600 clamp(2rem,4vw,2.8rem)/1.05 "IBM Plex Serif";color:var(--slate);margin:0 0 1.2rem}
.card{background:#fff;border:1px solid var(--line);padding:1.2rem 1.4rem}.card h3{font:600 1.2rem "IBM Plex Serif";margin:0 0 .5rem}
.cite a{color:#6b7686}
.event-list{padding:0}.event-list li{background:#fff;border:1px solid var(--line);border-left:3px solid var(--brass);margin-bottom:.6rem;padding:1rem}
.contact-box{display:flex;flex-direction:column;gap:.35rem;background:#fff;border:1px solid var(--line);padding:1.5rem}
.contact-box input,.contact-box textarea{padding:.65rem;border:1px solid #c9c2b4;border-radius:3px;font:inherit}.contact-box .btn{margin-top:.8rem;align-self:flex-start}
.ph:not(.brass-ph){background:#e6e1d6;min-height:260px;display:grid;place-items:center;position:relative;overflow:hidden}

.demo-strip{background:var(--slate);color:#9aa6b6;text-align:center;font-size:.82rem;padding:1.25rem}.demo-strip a{color:#fff}
@media(max-width:900px){
 .shell{grid-template-columns:1fr}
 .sidebar{position:sticky;top:0;z-index:10;height:auto;padding:.8rem 1rem;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}
 .brand{flex-direction:row;align-items:center;gap:.6rem}.mark{width:36px;height:36px;font-size:1rem;margin:0}.bo,.side-foot{display:none}.sidebar .side-cta{display:none!important}
 .bn{font-size:1.05rem}
 .site-nav{width:100%}.links{display:flex;overflow-x:auto;border:0;gap:.2rem}.links a{border:0;padding:.35rem .6rem;white-space:nowrap;font-size:.9rem}
 .links a[aria-current],.links a:hover{box-shadow:inset 0 -2px var(--brass);padding-left:.6rem}
 .brief-head{grid-template-columns:1fr 110px;gap:1rem}.tiles{grid-template-columns:1fr}
 [style*="grid-template-columns:minmax"]{grid-template-columns:1fr!important}
}

/* viewer photo fill */
.ph{position:relative}.ph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%}

.mark{font-size:1rem!important;letter-spacing:.02em}.main .section .wrap{max-width:1000px}.main>main>section{padding-left:clamp(1.25rem,4vw,3.5rem);padding-right:clamp(1.25rem,4vw,3.5rem)}.main main .wrap{width:auto;max-width:1000px;margin:0}@media(max-width:900px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar,.site-nav{min-width:0;max-width:100%}}