/* Shared editorial design for Martinus Online. */
.modern { --bg:#fff; --text:#24252a; --muted:#62636c; --accent:#685482; --accent-dark:#49385e; --border:#e8e8ec; --soft:#f7f7f9; background:#fff; font-family:Inter,"Helvetica Neue",Arial,sans-serif; }
.modern .container { width:min(1120px,calc(100% - 64px)); }
.modern .site-header { background:rgba(255,255,255,.98); border-bottom:0; }
.modern .site-header::after { content:""; display:block; height:4px; background:var(--spectrum); }
.modern .logo { font-size:1.05rem; letter-spacing:-.035em; }
.modern .nav { min-height:84px; }
.modern .nav-list > li > a,.modern .nav-dropdown > summary { font-size:.86rem; font-weight:600; }
.modern h1,.modern h2,.modern h3 { font-weight:600; letter-spacing:-.045em; }
.modern .eyebrow { font-size:.7rem; font-weight:600; letter-spacing:.15em; }
.modern .section { padding:64px 0; }
.modern .button { border-radius:5px; box-shadow:none; padding:15px 20px; font-weight:600; font-size:.9rem; gap:24px; }
.modern .button:hover { background:var(--accent); box-shadow:none; transform:none; }
.modern .home-intro { padding:64px 0 56px; }
.modern .home-intro .hero-grid { grid-template-columns:minmax(0,1fr) 250px; gap:80px; align-items:center; }
.modern .home-intro h1 { font-size:clamp(2.4rem,4.7vw,3.8rem); line-height:1.08; max-width:700px; margin:20px 0; }
.modern .home-intro .intro-text > p:not(.eyebrow):not(.independent-note) { max-width:570px; font-size:1.05rem; color:var(--muted); }
.modern .home-intro .portrait-card { max-width:250px; width:100%; }
.modern .portrait-image { border-radius:4px; box-shadow:none; filter:grayscale(1); }
.modern .image-caption { font-size:.7rem; line-height:1.55; margin-top:12px; color:var(--muted); }
.modern .intro-actions { display:flex; align-items:center; gap:28px; flex-wrap:wrap; margin:24px 0; }
.modern .intro-actions .button { margin:0; }
.modern .intro-actions > a:not(.button),.modern .text-link { text-decoration:none; font-size:.9rem; font-weight:600; }
.modern .intro-actions a:hover,.modern .text-link:hover { text-decoration:underline; }
.modern .independent-note { border:0; padding:0; color:var(--muted); font-size:.75rem; line-height:1.6; max-width:570px; margin:0; }
.modern .muted { background:#f7f7f9; border-block:1px solid var(--border); }
.modern .muted::before { display:none; }
.modern .card-grid { gap:0 40px; counter-reset:entry; }
.modern .card-grid .card { border:0; border-top:1px solid #dedee5; border-radius:0; background:transparent; box-shadow:none; padding:24px 0 28px; display:flex; flex-direction:column; margin-top:16px; }
.modern .card-grid .card::before { position:static; background:none; width:auto; height:auto; counter-increment:entry; content:"0" counter(entry); color:var(--accent); font-size:.72rem; letter-spacing:.1em; margin-bottom:24px; }
.modern .card-grid .card:hover { transform:none; box-shadow:none; }
.modern .card-grid h3 { font-size:1.25rem; }
.modern .card-grid p { font-size:.9rem; color:var(--muted); }
.modern .card-grid .button { background:none; color:var(--accent-dark); padding:8px 0; align-self:flex-start; margin-top:auto; font-size:.83rem; }
.modern .card-grid .button::after { content:"→"; }
.modern .card-grid .button:hover { text-decoration:underline; }
.modern .feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.modern .feature-art { padding:24px; background:#f7f7f9; text-decoration:none; }
.modern .feature-art img { width:100%; height:auto; }
.modern .feature-grid h2 { font-size:2.25rem; }
.modern .feature-grid p:not(.eyebrow) { color:var(--muted); }
.modern .reading-copy { max-width:740px; }
.modern .read-more { background:transparent; border:1px solid var(--border); border-radius:4px; padding:22px 24px; }
.modern footer { background:#fff; color:var(--muted); border-top:1px solid var(--border); padding:28px 0; }
.modern footer a { color:var(--accent-dark); }
.modern .footer-note { color:var(--muted); font-size:.75rem; max-width:850px; }
.modern-gallery .page-intro { background:transparent; border-bottom:1px solid var(--border); }
.modern-gallery .symbols-intro { max-width:760px; margin-bottom:40px; }
.modern-gallery .symbols-notice { background:#f7f7f9; border:0; border-radius:4px; font-size:.85rem; padding:20px; }
.modern-gallery .symbols-grid { gap:32px; }
.modern-gallery .card.symbol-preview { border:0; border-radius:0; box-shadow:none; }
.modern-gallery .symbol-preview-link { padding:20px; background:#f7f7f9; border-radius:4px; }
.modern-gallery .symbol-copyright { font-size:.68rem; margin-top:18px; line-height:1.6; }
.modern-gallery .symbol-copyright span:first-child,.modern-gallery .symbol-copyright span:nth-child(2) { font-weight:500; color:var(--muted); }
.modern-gallery .symbol-preview-content { padding:24px 0 0; }
.modern-gallery .symbol-kicker { font-size:.7rem; letter-spacing:.13em; margin-bottom:12px; }
.modern-gallery .symbol-preview-content h2 { font-size:1.25rem; }
.modern-gallery .symbol-preview-content h2 a { text-decoration:none; color:var(--text); }
.modern-gallery .symbol-preview-content h2 a:hover { text-decoration:underline; }
.modern-gallery .symbol-preview-content p:last-child { font-size:.9rem; }
.modern-article .narrow { max-width:720px; }
.modern-article article > header { padding-bottom:32px; margin-bottom:36px; border-bottom:1px solid var(--border); }
.modern-article .article-back { display:inline-block; font-size:.8rem; text-decoration:none; margin-bottom:36px; }
.modern-article h1 { font-size:clamp(2.7rem,5vw,4rem); line-height:1.08; }
.modern-article article > header h2 { font-size:1.2rem; line-height:1.6; color:var(--muted); font-weight:400; letter-spacing:0; max-width:610px; }
.modern-article article > header > p:last-child { font-size:.8rem; }
.modern-article article > p { font-family:Georgia,"Times New Roman",serif; font-size:1.15rem; line-height:1.85; margin-bottom:1.6em; }
.modern-article article > h2 { margin-top:48px; }
.modern-article .article-source { border-top:1px solid var(--border); padding-top:24px; color:var(--muted); }
@media(max-width:900px) {
 .modern .container { width:calc(100% - 40px); }
 .modern .home-intro .hero-grid { grid-template-columns:1fr 180px; gap:32px; }
 .modern .feature-grid { gap:32px; }
}
@media(max-width:600px) {
 .modern .section { padding:40px 0; }
 .modern .home-intro .hero-grid { display:flex; flex-direction:column; align-items:stretch; }
 .modern .home-intro .portrait-card { float:none; order:0; width:112px; margin:0; }
 .modern .home-intro .intro-text { order:1; }
 .modern .home-intro h1 { font-size:2.5rem; }
 .modern .intro-actions { gap:20px; }
 .modern .feature-grid { grid-template-columns:1fr; }
 .modern .feature-grid h2 { font-size:1.9rem; }
 .modern .card-grid { grid-template-columns:1fr; }
 .modern .card-grid .card::before { margin-bottom:14px; }
 .modern-article article > p { font-size:1.08rem; }
}
@media(max-width:600px) {
 .modern .home-intro .hero-grid { display:block; }
 .modern .home-intro .portrait-card { float:right; width:92px; margin:28px 0 16px 18px; }
 .modern .home-intro h1 { font-size:2.15rem; }
 .modern .home-intro .intro-text > p:not(.eyebrow) { clear:both; }
}

.modern .page-intro { background:transparent; border-bottom:1px solid var(--border); }
.modern .page-intro::after { display:none; }
.modern .content-image,.modern .wide-image { border-radius:4px; box-shadow:none; }
.modern .symbol-details,.modern .symbol-longform,.modern .symbol-navigation { background:#f7f7f9; border:0; border-radius:4px; box-shadow:none; }
.modern .symbol-longform::before { display:none; }
.modern .symbol-full-image { box-shadow:none; }
.modern .symbol-navigation a { text-decoration:none; }
.modern .contact-form input,.modern .contact-form textarea { border-radius:4px; background:#fff; border:1px solid #c9c9d2; font:inherit; }
.modern .contact-form input:focus,.modern .contact-form textarea:focus { outline:2px solid var(--accent); outline-offset:2px; }
.modern .card-grid h2 { font-size:1.3rem; }
.modern .card-grid h2 a { text-decoration:none; }
.modern-content .narrow { max-width:740px; }
.modern-content .narrow > h2 { margin-top:40px; }
.modern .card-grid .card::before { content:counter(entry,decimal-leading-zero); }

.modern .card-grid .card > p:last-child:has(.button) { margin-top:auto; padding-top:8px; }

.modern .opening-statement { padding:56px 0; border-bottom:1px solid var(--border); background:#f7f7f9; }
.modern .opening-statement .container { max-width:820px; }
.modern .opening-statement h2 { font-size:clamp(1.8rem,3.1vw,2.5rem); line-height:1.2; margin-bottom:28px; }
.modern .opening-statement blockquote { margin:0; padding-left:24px; border-left:3px solid var(--accent); }
.modern .opening-statement blockquote p { font-size:1rem; line-height:1.8; }
.modern .opening-attribution { font-size:.78rem; line-height:1.8; color:var(--muted); margin:24px 0 0 27px; }
.modern .home-intro-title { font-size:clamp(2.4rem,4.7vw,3.8rem); line-height:1.08; margin:20px 0; }
@media(max-width:600px) {
 .modern .opening-statement { padding:36px 0; }
 .modern .opening-statement blockquote { padding-left:16px; }
 .modern .opening-attribution { margin-left:19px; }
 .modern .home-intro-title { font-size:2.15rem; }
}

/* Identify each symbol before its image, including in the mobile reading order. */
.modern .card.symbol-preview { grid-row:span 3; }
.modern .symbol-preview-heading { padding:24px 24px 18px; }
.modern .symbol-preview-heading h2 { margin:0; font-size:1.3rem; line-height:1.3; }
.modern .symbol-preview-heading h2 a { text-decoration:none; }
.modern .symbol-preview-heading .symbol-kicker { margin-bottom:10px; }
.modern .symbol-page-heading { margin-bottom:32px; max-width:960px; }
.modern .symbol-page-heading h1 { margin:0; font-size:clamp(2rem,4.2vw,3.25rem); }
