/* The Mathews Museum — site styles */
:root{
  --paper:#f3ead6;
  --paper-2:#ebe0c6;
  --paper-3:#e2d4b4;
  --ink:#2a1f16;
  --ink-soft:#4a3b2c;
  --muted:#6f5d49;
  --rule:#b9a27c;
  --oxblood:#7b2419;
  --oxblood-dk:#5c1a12;
  --gold:#a47d36;
  --navy:#1f2f45;
  --serif-display:"IM Fell English","Georgia",serif;
  --serif-sc:"IM Fell English SC","Georgia",serif;
  --serif:"EB Garamond","Georgia","Times New Roman",serif;
  --maxw:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--ink);font-family:var(--serif);font-size:19px;line-height:1.6;
  background-color:var(--paper);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .25 0 0 0 0 .12 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--oxblood);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--oxblood-dk)}
h1,h2,h3,h4{font-family:var(--serif-display);font-weight:400;line-height:1.15;margin:0 0 .5em;color:var(--ink)}
h1{font-size:clamp(2.3rem,5.4vw,3.9rem)}
h2{font-size:clamp(1.8rem,3.6vw,2.6rem)}
h3{font-size:1.45rem}
p{margin:0 0 1em}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.narrow{max-width:780px;margin:0 auto}
.sc{font-family:var(--serif-sc);letter-spacing:.08em}
.eyebrow{font-family:var(--serif-sc);letter-spacing:.18em;font-size:.82rem;color:var(--oxblood);text-transform:lowercase;display:block;margin-bottom:.6rem}
.lede{font-size:1.2rem;color:var(--ink-soft);font-style:italic}
.muted{color:var(--muted)}
.center{text-align:center}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--ink);color:var(--paper);padding:8px 12px;z-index:99}

/* Top notice band */
.notice{background:var(--ink);color:#e9dcc0;font-family:var(--serif-sc);letter-spacing:.12em;font-size:.8rem;text-align:center;padding:7px 12px}
.notice a{color:#e9dcc0;text-decoration:none}
.notice .dot{color:var(--gold);margin:0 .6em}
#open-status{color:#f1c77a}

/* Masthead */
.masthead{text-align:center;padding:26px 0 0}
.masthead .tagline-top{font-family:var(--serif-sc);letter-spacing:.3em;font-size:.78rem;color:var(--muted)}
.masthead .brand{display:inline-block;text-decoration:none;color:var(--ink);margin:.25rem 0}
.masthead .brand img{height:118px;width:auto;margin:0 auto;filter:brightness(0) saturate(100%) invert(12%) sepia(22%) saturate(900%) hue-rotate(350deg) brightness(92%)}
.masthead .tagline{font-style:italic;color:var(--ink-soft);font-size:1.05rem;margin:.1rem 0 .9rem}
.rule-double{border:0;border-top:3px double var(--ink);margin:0}
.rule-thin{border:0;border-top:1px solid var(--ink);margin:3px 0 0}
.mainnav{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.1rem 0;padding:10px 0}
.mainnav a{font-family:var(--serif-sc);letter-spacing:.12em;font-size:.95rem;color:var(--ink);text-decoration:none;padding:4px 14px;position:relative}
.mainnav a+a::before{content:"✦";position:absolute;left:-5px;top:7px;font-size:.5rem;color:var(--gold)}
.mainnav a:hover,.mainnav a[aria-current="page"]{color:var(--oxblood)}
.mainnav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
.header-actions{position:absolute;right:24px;top:18px;display:flex;gap:8px}
.masthead-inner{position:relative}
.menu-toggle{display:none}

/* Buttons */
.btn{display:inline-block;font-family:var(--serif-sc);letter-spacing:.14em;font-size:.92rem;text-decoration:none;padding:.72em 1.5em;border:1px solid var(--oxblood);background:var(--oxblood);color:#f6ecd9;transition:background .2s,color .2s;cursor:pointer}
.btn:hover{background:var(--oxblood-dk);color:#fff}
.btn.ghost{background:transparent;color:var(--oxblood)}
.btn.ghost:hover{background:var(--oxblood);color:#f6ecd9}
.btn.small{font-size:.78rem;padding:.5em 1em}
.btn.light{background:transparent;border-color:#e9dcc0;color:#f3ead6}
.btn.light:hover{background:#f3ead6;color:var(--ink)}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btns.center{justify-content:center}

/* Ornaments */
.orn{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--gold);margin:0 auto 1.2rem;max-width:340px}
.orn::before,.orn::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--rule),transparent)}
.orn span{font-size:1.25rem;line-height:1}
.section{padding:72px 0}
.section.tint{background:rgba(226,212,180,.45);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.section.dark{background:var(--ink);color:#eadfc6}
.section.dark h2,.section.dark h3{color:#f6ecd9}
.section-head{text-align:center;max-width:720px;margin:0 auto 42px}
.section-head p{color:var(--ink-soft)}

/* Page header */
.page-head{text-align:center;padding:56px 0 44px}
.page-head .lede{max-width:720px;margin:0 auto}
.page-head.with-image{padding-bottom:0}

/* Framed image (mounted print look) */
.frame{background:#fbf6ea;padding:10px;border:1px solid var(--rule);box-shadow:0 1px 0 rgba(0,0,0,.04),0 12px 28px -18px rgba(42,31,22,.55);position:relative}
.frame::after{content:"";position:absolute;inset:4px;border:1px solid rgba(164,125,54,.35);pointer-events:none}
.frame img{width:100%;height:100%;object-fit:cover;filter:sepia(.12) contrast(1.02)}
figure{margin:0}
figcaption{font-style:italic;font-size:.9rem;color:var(--muted);text-align:center;margin-top:.55rem}

/* Hero */
.hero{padding:34px 0 64px}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.hero .frame{aspect-ratio:4/3}
.hero h1 em{color:var(--oxblood);font-style:italic}
.hero .lede{font-size:1.25rem}
.visit-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--ink);margin-top:28px;background:rgba(251,246,234,.6)}
.visit-strip div{padding:14px 16px;border-left:1px solid var(--rule)}
.visit-strip div:first-child{border-left:0}
.visit-strip .k{font-family:var(--serif-sc);letter-spacing:.14em;font-size:.72rem;color:var(--oxblood);display:block}
.visit-strip .v{font-size:1rem;line-height:1.35}

/* Cards */
.grid{display:grid;gap:34px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{background:#faf4e6;border:1px solid var(--rule);padding:12px;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);position:relative;transition:transform .25s,box-shadow .25s}
.card::after{content:"";position:absolute;inset:5px;border:1px solid rgba(164,125,54,.3);pointer-events:none}
a.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -20px rgba(42,31,22,.6);color:var(--ink)}
.card .img{aspect-ratio:3/2;overflow:hidden;background:var(--paper-3)}
.card .img img{width:100%;height:100%;object-fit:cover;filter:sepia(.12)}
.card .body{padding:18px 10px 10px;display:flex;flex-direction:column;flex:1}
.card h3{font-size:1.35rem;margin-bottom:.35em}
.card p{font-size:1rem;color:var(--ink-soft);margin-bottom:.8em}
.card .more{margin-top:auto;font-family:var(--serif-sc);letter-spacing:.12em;font-size:.82rem;color:var(--oxblood)}
.card .tag{font-family:var(--serif-sc);letter-spacing:.14em;font-size:.72rem;color:var(--oxblood);margin-bottom:.4rem}
.card.plain .body{padding-top:8px}
.badge{display:inline-block;font-family:var(--serif-sc);letter-spacing:.12em;font-size:.7rem;border:1px solid var(--oxblood);color:var(--oxblood);padding:1px 8px;margin-right:6px}

/* Split feature */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.feature.flip > :first-child{order:2}
.feature .frame{aspect-ratio:4/3}

/* Article */
.article{font-size:1.1rem}
.article > p:first-of-type::first-letter{font-family:var(--serif-display);float:left;font-size:4.2rem;line-height:.82;padding:6px 10px 0 0;color:var(--oxblood)}
.article h2{margin-top:1.6em;font-size:1.9rem}
.article h3{margin-top:1.3em}
.byline{font-family:var(--serif-sc);letter-spacing:.12em;font-size:.85rem;color:var(--muted)}
.pull{font-family:var(--serif-display);font-style:italic;font-size:1.5rem;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:18px 0;margin:28px 0;text-align:center;color:var(--ink-soft)}

/* Exhibit detail */
.detail-grid{display:grid;grid-template-columns:1fr 330px;gap:56px;align-items:start}
.placard{background:#faf4e6;border:1px solid var(--ink);padding:26px;position:sticky;top:20px}
.placard::before{content:"";position:absolute;inset:5px;border:1px solid var(--rule);pointer-events:none}
.placard h3{font-size:1.3rem;border-bottom:1px solid var(--rule);padding-bottom:.6rem}
.placard dl{margin:0}
.placard dt{font-family:var(--serif-sc);letter-spacing:.14em;font-size:.72rem;color:var(--oxblood);margin-top:.9rem}
.placard dd{margin:0;font-size:1rem}
.placard .note{font-style:italic;font-size:.95rem;color:var(--ink-soft);border-top:1px solid var(--rule);margin-top:1rem;padding-top:1rem}
.wide-img{margin:44px 0}
.wide-img .frame{aspect-ratio:16/8}

/* Lists / tables */
.ledger{width:100%;border-collapse:collapse;font-size:1rem}
.ledger th,.ledger td{padding:10px 12px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
.ledger th{font-family:var(--serif-sc);letter-spacing:.1em;font-weight:400;font-size:.85rem;color:var(--oxblood);border-bottom:2px solid var(--ink)}
.ledger td.c,.ledger th.c{text-align:center}
.table-scroll{overflow-x:auto}
.hours dt{float:left;clear:left;width:9rem;font-family:var(--serif-sc);letter-spacing:.08em}
.hours dd{margin:0 0 .35rem 9rem}

/* Events */
.event{display:grid;grid-template-columns:110px 1fr 260px;gap:28px;padding:28px 0;border-bottom:1px solid var(--rule);align-items:start}
.event:first-child{border-top:3px double var(--ink)}
.datebox{border:1px solid var(--ink);text-align:center;background:#faf4e6;padding:8px 4px}
.datebox .m{font-family:var(--serif-sc);letter-spacing:.16em;font-size:.8rem;color:var(--oxblood);display:block}
.datebox .d{font-family:var(--serif-display);font-size:2.6rem;line-height:1}
.datebox .y{display:block;font-size:.8rem;color:var(--muted)}
.event h3{margin-bottom:.25em}
.event .meta{font-size:.95rem;color:var(--muted);margin-bottom:.6em;font-style:italic}
.event .frame{aspect-ratio:3/2;padding:6px}
.event.past{opacity:.75}

/* Levels */
.level{text-align:center}
.level .price{font-family:var(--serif-display);font-size:2.4rem;color:var(--oxblood);line-height:1}
.level .per{font-style:italic;color:var(--muted);font-size:.9rem;margin-bottom:.8rem}
.level.featured{border-color:var(--oxblood);background:#fbf3e3}
.level.featured .tag{display:block}

/* Details/FAQ */
details{border-bottom:1px solid var(--rule);padding:14px 0}
details summary{cursor:pointer;font-family:var(--serif-display);font-size:1.3rem;list-style:none;display:flex;justify-content:space-between;gap:12px}
details summary::after{content:"+";color:var(--oxblood);font-size:1.5rem;line-height:1}
details[open] summary::after{content:"−"}
details summary::-webkit-details-marker{display:none}
details > div{padding-top:10px;color:var(--ink-soft)}

/* Stat row */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:3px double var(--ink);border-bottom:3px double var(--ink)}
.stats div{text-align:center;padding:24px 10px;border-left:1px solid var(--rule)}
.stats div:first-child{border-left:0}
.stats b{display:block;font-family:var(--serif-display);font-weight:400;font-size:2.3rem;color:var(--oxblood);line-height:1.1}
.stats span{font-family:var(--serif-sc);letter-spacing:.1em;font-size:.8rem;color:var(--ink-soft)}

/* Notices / callouts */
.callout{border:1px solid var(--ink);background:#faf4e6;padding:22px 26px;position:relative}
.callout::before{content:"";position:absolute;inset:5px;border:1px solid var(--rule);pointer-events:none}
.video{position:relative;aspect-ratio:16/9;background:#000}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
ol.steps{padding-left:1.3em}
ol.steps li{margin-bottom:.7em}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--ink);margin:28px 0}
.facts div{padding:12px 14px;border-left:1px solid var(--rule)}
.facts div:first-child{border-left:0}
.facts .k{font-family:var(--serif-sc);letter-spacing:.12em;font-size:.72rem;color:var(--oxblood);display:block}
.facts .v{font-size:.98rem}
.chip-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.chip-list li{border:1px solid var(--rule);padding:2px 10px;font-size:.9rem;background:#faf4e6}
.anchor-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;margin-top:22px}
.anchor-nav a{font-family:var(--serif-sc);letter-spacing:.12em;font-size:.88rem;text-decoration:none}

/* Footer */
.site-footer{background:#231a12;color:#d9ccb0;margin-top:0;padding:60px 0 26px;font-size:1rem}
.site-footer a{color:#efe3c8}
.site-footer h4{font-family:var(--serif-sc);letter-spacing:.16em;font-size:.9rem;color:var(--gold);margin-bottom:1rem}
.site-footer .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
.site-footer .logo{height:92px;width:auto;margin-bottom:14px;opacity:.95}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li a{text-decoration:none}
.site-footer li{margin-bottom:.35rem}
.site-footer .base{border-top:1px solid #4b3b2b;margin-top:44px;padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.88rem;color:#a8977a}
.site-footer .hours-list div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dotted #4b3b2b;padding:3px 0}

/* Responsive */
@media (max-width:980px){
  .hero-grid,.feature,.detail-grid{grid-template-columns:1fr;gap:34px}
  .feature.flip > :first-child{order:0}
  .g3,.g4{grid-template-columns:repeat(2,1fr)}
  .site-footer .cols{grid-template-columns:1fr 1fr}
  .placard{position:static}
  .event{grid-template-columns:90px 1fr}
  .event .frame{grid-column:1/-1}
  .header-actions{position:static;justify-content:center;margin:6px 0 12px}
  .stats,.facts{grid-template-columns:repeat(2,1fr)}
  .stats div:nth-child(3),.facts div:nth-child(3){border-left:0}
}
@media (max-width:680px){
  body{font-size:18px}
  .wrap{padding:0 16px}
  .g2,.g3,.g4{grid-template-columns:1fr}
  .section{padding:52px 0}
  .masthead .brand img{height:88px}
  .menu-toggle{display:inline-block;margin:6px auto 10px;background:none;border:1px solid var(--ink);font-family:var(--serif-sc);letter-spacing:.14em;font-size:.9rem;padding:6px 18px;color:var(--ink)}
  .mainnav{display:none;flex-direction:column;padding:4px 0 12px}
  .mainnav.open{display:flex}
  .mainnav a+a::before{display:none}
  .mainnav a{padding:8px}
  .visit-strip{grid-template-columns:1fr}
  .visit-strip div{border-left:0;border-top:1px solid var(--rule)}
  .visit-strip div:first-child{border-top:0}
  .site-footer .cols{grid-template-columns:1fr}
  .notice .hide-sm{display:none}
  .hours dt{float:none;width:auto}.hours dd{margin:0 0 .5rem}
}
