/* Shared interior treatment, derived from the approved Home. */
body.site-interior {
    --light:#f8f9fa;
    --type-section:clamp(1.5rem,1.8vw,1.625rem);
    --type-card:1.25rem;
    background:#f8f9fa; font-size:1rem; color:#34444d;
}
.site-interior main .container { max-width:1180px; }
.site-interior main .section-header { text-align:center; margin-bottom:32px; }
.site-interior main h1 {
    font-size:clamp(1.75rem,3vw,2.125rem); line-height:1.3; font-weight:400; letter-spacing:-.5px;
}
.site-interior main .section-header h1,
.site-interior main .section-header h2,
.site-interior .archive-intro h1,
.site-interior .publications-intro h1,
.site-interior .publisher-sources > h2,
.site-interior .print-publications-title,
.site-interior .publications-archive > h2 {
    position:relative; text-align:center; margin:0; padding-bottom:20px;
}
.site-interior main .section-header h2,
.site-interior .publisher-sources > h2,
.site-interior .print-publications-title,
.site-interior .publications-archive > h2 { font-size:var(--type-section); font-weight:400; line-height:1.4; }
.site-interior main .section-header h1::after,
.site-interior main .section-header h2::after,
.site-interior .archive-intro h1::after,
.site-interior .publications-intro h1::after,
.site-interior .publisher-sources > h2::after,
.site-interior .print-publications-title::after,
.site-interior .publications-archive > h2::after {
    display:block; content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%);
    width:60px; height:3px; background:#e67e22;
}
.site-interior .profile-intro,
.site-interior .journalism-intro,
.site-interior .engineering-intro,
.site-interior .about.page-intro { padding:136px 0 32px; margin:0; }
.site-interior .profile-section,
.site-interior .editorial-section,
.site-interior .engineering-section,
.site-interior .contact-page .services { padding:32px 0; margin:0; }
.site-interior main .about { background:#f8f9fa; }
.site-interior main .about-box,
.site-interior main .service-card,
.site-interior .engineering-project,
.site-interior .publication-entry,
.site-interior .publications-archive {
    background:#fff; border:0; border-radius:8px; box-shadow:0 5px 18px rgba(32,59,75,.1);
}
.site-interior main .about-box { padding:28px; animation:none; }
.site-interior .profile-page .about-box,
.site-interior .profile-page .services-grid { max-width:none; }
.site-interior main .service-card { padding:0; min-width:0; }
.site-interior main .service-card:hover { transform:none; box-shadow:0 5px 18px rgba(32,59,75,.1); }
.site-interior main .service-content { padding:28px; }
.site-interior main .service-content h3,
.site-interior main .about-box h3 { font-size:var(--type-card); line-height:1.45; text-transform:none; text-align:left; font-weight:500; }
.site-interior main .about-box p,
.site-interior main .service-content p,
.site-interior main .profile-lead { font-size:1rem; line-height:1.75; color:#465760; }
.site-interior main .services-grid,
.site-interior .editorial-formats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.site-interior .engineering-page .history-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
.site-interior .engineering-page .history-cards .service-card { border:0; box-shadow:0 5px 18px rgba(32,59,75,.1); }
.site-interior .contact-page .services-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.site-interior .contact-page .page-intro .about-box {
    background:transparent; box-shadow:none; border:0; padding:0; max-width:800px;
}
.site-interior .contact-page .contact-detail,
.site-interior .contact-page .contact-detail a { font-size:1rem; overflow-wrap:anywhere; }
.site-interior .btn,
.site-interior .nav-btn,
.site-interior .submit-btn,
.site-interior a.publication-link {
    display:inline-flex; justify-content:center; align-items:center; gap:12px;
    padding:12px 20px; min-height:46px; max-width:100%; white-space:normal;
    border:1px solid #267bb3; border-radius:3px; background:#267bb3; color:#fff;
    font:500 .875rem/1.5 'Montserrat',sans-serif; text-transform:uppercase;
    text-decoration:none; letter-spacing:.055em; text-align:center;
}
.site-interior .btn:hover,
.site-interior .nav-btn:hover,
.site-interior .submit-btn:hover,
.site-interior a.publication-link:hover { background:#e67e22; border-color:#e67e22; color:#fff; transform:none; }
.site-interior .submit-btn { display:flex; width:100%; }
.site-interior .submit-btn:disabled { background:#53616b; border-color:#53616b; }
.site-interior main :focus-visible { outline:3px solid #e67e22; outline-offset:4px; }
.site-interior .engineering-project { padding:28px; }
.site-interior .engineering-gallery { gap:24px; }
.site-interior .stats-simple { background:transparent; padding:8px 0 32px; }
.site-interior .stats-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.site-interior .stat-item { background:#fff; padding:24px; border-radius:8px; box-shadow:0 5px 18px rgba(32,59,75,.1); }
.site-interior .stat-item:hover { transform:none; }
.site-interior .stat-number { font-size:1.75rem; font-weight:400; letter-spacing:-.5px; line-height:1.3; color:#e67e22; }
.site-interior .stat-label { font-size:.875rem; line-height:1.6; text-transform:none; letter-spacing:0; }

/* Publication details retain their hierarchy and every attribution/link. */
.site-interior .publications-page { padding:136px 0 48px; }
.site-interior .publications-intro { margin-bottom:40px; text-align:center; }
.site-interior .publications-intro h1 { margin-bottom:24px; }
.site-interior .publications-intro > p { max-width:80ch; margin-inline:auto; }
.site-interior .publications-shortcuts,
.site-interior .publications-sections { justify-content:center; }
.site-interior .publications-page .publications-sections a {
    border-color:#8d9da7; background:#fff; color:var(--primary); border-radius:3px; min-height:44px;
    padding:9px 16px; font:500 .8125rem/1.5 'Montserrat',sans-serif;
    text-transform:uppercase; letter-spacing:.055em; box-shadow:0 2px 4px rgba(32,59,75,.06);
}
.site-interior .publications-page .publications-sections a:hover { background:#e67e22; border-color:#e67e22; color:#fff; }
.site-interior .publications-shortcuts { font:400 .8125rem/1.6 'Montserrat',sans-serif; gap:10px 24px; }
.site-interior .publications-shortcuts a:hover { color:#ad4f26; }
.site-interior .publisher-sources > h2,
.site-interior .print-publications-title { margin-bottom:28px; }
.site-interior .publication-entry { padding:28px; }
.site-interior .publication-entry h2,
.site-interior .publication-entry h3 { font-size:var(--type-card); font-weight:500; line-height:1.45; }
.site-interior .publication-entry h2::after { display:none; }
.site-interior a.publication-link { align-self:flex-start; margin-top:12px; }
.site-interior .publisher-sources .publication-link { margin-top:auto; }
.site-interior .publications-archive { padding:28px; }
.site-interior .publications-archive h2 { margin-bottom:24px; }

/* Magazine covers stay fully visible, with the same card treatment. */
.site-interior .testates-page > .about:not(.page-intro) { padding:32px 0 48px; }
.site-interior .testates-page > .about > .container > p { max-width:80ch; margin:0 auto 28px; }
.site-interior .testates-page .about-box { background:transparent; box-shadow:none; padding:0; }
.site-interior .magazines-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin:0; }
.site-interior .magazine-item { min-width:0; background:#fff; border-radius:8px; padding:16px; box-shadow:0 5px 18px rgba(32,59,75,.1); }
.site-interior .magazine-cover { border-radius:4px; box-shadow:none; }
.site-interior .magazine-cover img { object-fit:contain; }
.site-interior .magazine-item h6 { font-size:.9375rem; line-height:1.5; overflow-wrap:break-word; }
.site-interior .testates-page .page-navigation { margin-top:32px; padding-top:24px; background:transparent; }
.site-interior .testates-page .nav-buttons { justify-content:center; }

/* All twelve yearly archives share one treatment; filters/requests stay native. */
.site-interior .filters-section { background:#fff; padding:24px 0; border-block:1px solid #e1e7eb; }
.site-interior .filter-controls { display:block; margin-bottom:20px; }
.site-interior .filter-buttons { gap:10px 12px; }
.site-interior .filter-btn { border-color:#8d9da7; box-shadow:0 2px 4px rgba(32,59,75,.06); min-height:32px; padding:5px 16px; font:400 .8125rem/1.5 'Montserrat',sans-serif; letter-spacing:.025em; }
.site-interior .filter-btn.active { background:#267bb3; border-color:#267bb3; color:#fff; transform:none; box-shadow:0 3px 9px rgba(38,123,179,.2); }
.site-interior .filter-btn:hover { background:#e67e22; border-color:#e67e22; color:#fff; transform:none; }
.site-interior .year-navigation { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.site-interior .year-btn { display:flex; justify-content:center; align-items:center; min-height:32px; padding:5px 13px; border-color:#8d9da7; font:400 .8125rem/1.5 'Montserrat',sans-serif; box-shadow:0 2px 4px rgba(32,59,75,.06); }
.site-interior .year-btn.active,
.site-interior .year-btn:hover { background:#e67e22; border-color:#e67e22; color:#fff; transform:none; box-shadow:0 3px 9px rgba(230,126,34,.2); }
.site-interior .articles-section { padding:32px 0; background:#f8f9fa; }
.site-interior .articles-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.site-interior .article-card { min-width:0; border-radius:8px; box-shadow:0 5px 18px rgba(32,59,75,.1); }
.site-interior .article-card:hover { transform:none; }
.site-interior .article-info h2 { color:#fff; }
.site-interior .download-btn.open-pdf-modal { background:#267bb3; border:1px solid #267bb3; color:#fff; border-radius:3px; font:500 .8125rem/1.5 'Montserrat',sans-serif; text-transform:uppercase; letter-spacing:.055em; }
.site-interior .download-btn.open-pdf-modal:hover { background:#e67e22; border-color:#e67e22; transform:none; }
.site-interior .page-navigation { background:#f8f9fa; padding:24px 0 40px; }
.site-interior .nav-buttons { gap:16px; }
.site-interior .modal-content { border-radius:8px; }
.site-interior .modal-content h2 { font-size:var(--type-card); }
.site-interior .privacy-content { box-shadow:0 5px 18px rgba(32,59,75,.1); }
.site-interior .privacy-content h2 { font-size:var(--type-card); }
.site-interior .privacy-content h2::after { background:#e67e22; }
@media (max-width:992px) {
    .site-interior .magazines-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .site-interior .articles-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
    .site-interior main .services-grid,
    .site-interior .editorial-formats,
    .site-interior .contact-page .services-grid,
    .site-interior .engineering-gallery,
    .site-interior .engineering-page .history-cards { grid-template-columns:1fr; }
    .site-interior .year-btn { min-height:44px; min-width:56px; }
    .site-interior .stats-grid { grid-template-columns:1fr; gap:16px; }
    .site-interior .stat-item { padding:20px; }
    .site-interior .stat-number { font-size:1.5rem; }
    .site-interior main .section-header { margin-bottom:24px; }
    .site-interior .profile-section,
    .site-interior .editorial-section,
    .site-interior .engineering-section { padding:24px 0; }
    .site-interior main .about-box,
    .site-interior main .service-content,
    .site-interior .engineering-project,
    .site-interior .publication-entry,
    .site-interior .publications-archive { padding:24px; }
}
@media (max-width:600px) {
    .site-interior .profile-intro,
    .site-interior .journalism-intro,
    .site-interior .engineering-intro,
    .site-interior .about.page-intro { padding:112px 0 24px; }
    .site-interior .publications-page { padding-top:112px; }
    .site-interior .magazines-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
    .site-interior .magazine-item { padding:12px; }
    .site-interior .magazine-item h6 { font-size:.875rem; }
    .site-interior .articles-grid { grid-template-columns:1fr; }
    .site-interior .filter-controls { margin-bottom:20px; }
    .site-interior .nav-buttons { flex-direction:column; }
    .site-interior .nav-btn { width:100%; }
}
@media (max-width:480px) {
    .site-interior main .about-box,
    .site-interior main .service-content,
    .site-interior .engineering-project,
    .site-interior .publication-entry,
    .site-interior .publications-archive { padding:22px 20px; }
    .site-interior main .service-content h3,
    .site-interior main .about-box h3,
    .site-interior .publication-entry h2,
    .site-interior .publication-entry h3 { font-size:1.1875rem; }
    .site-interior .testates-page .about-box { padding:0; }
    .site-interior .contact-page .page-intro .about-box { padding:0; }
}
