/* Hallmark · pre-emit critique: P5 H4 E4 S5 R5 V4 */
/* Hallmark · macrostructure: journal editorial · tone: institutional · anchor hue: CASP navy */
/* ACeA journal skin. Mirrors the CASP public identity while retaining OJS markup. */
@font-face {
    font-family: 'CASP Figtree';
    src: url('fonts/figtree-400.woff2') format('woff2');
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: 'CASP Figtree';
    src: url('fonts/figtree-600.woff2') format('woff2');
    font-style: normal;
    font-weight: 600 900;
    font-display: swap;
}
@font-face {
    font-family: 'CASP Fraunces';
    src: url('fonts/fraunces-600.woff2') format('woff2');
    font-style: normal;
    font-weight: 600 900;
    font-display: swap;
}
:root {
    --casp-navy: #081c33;
    --casp-navy-mid: #0b2b4e;
    --casp-blue: #0d3c74;
    --casp-paper: #f7f6f3;
    --casp-white: #fff;
    --casp-ink: #131a22;
    --casp-muted: #4a5661;
    --casp-line: #dde2e7;
    --casp-gold: #d9b876;
    --casp-brass: #8f6a2f;
    --casp-on-dark: #f2f5f9;
    --casp-muted-on-dark: #c4d0dc;
    --casp-line-on-dark: #31516e;
    --casp-hero-overlay: linear-gradient(90deg, rgba(8,28,51,.96) 0%, rgba(8,28,51,.83) 48%, rgba(8,28,51,.35) 100%);
    --casp-sans: 'CASP Figtree', Arial, sans-serif;
    --casp-serif: 'CASP Fraunces', Georgia, serif;
}
html, body { overflow-x: clip; }
body { background: var(--casp-paper) !important; color: var(--casp-ink); font-family: var(--casp-sans) !important; }
body :is(button, input, select, textarea) { font-family: var(--casp-sans); }
body :is(h1, h2, h3, h4) { font-family: var(--casp-serif) !important; font-style: normal; overflow-wrap: anywhere; }
a { color: var(--casp-blue); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
    outline: 2px solid var(--casp-brass) !important;
    outline-offset: 3px;
}

/* Masthead: the navy band and small white CASP seal echo caspindonesia.com. */
body > header {
    background: var(--casp-navy) !important;
    border-bottom: 1px solid color-mix(in srgb, var(--casp-white) 14%, transparent);
    box-shadow: none !important;
    padding-top: .75rem !important;
    padding-bottom: .75rem !important;
}
.casp-journal-brand { display: flex; align-items: center; gap: .875rem; min-width: 0; }
.casp-journal-brand-mark { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 42px; height: 42px; }
.casp-journal-brand-mark img { display: block; width: 38px; height: 38px; object-fit: contain; }
.casp-journal-brand-name { display: block; min-width: 0; background: var(--casp-white); padding: .28rem .5rem; border-radius: 2px; }
.casp-journal-brand-name img { display: block; width: auto; max-width: 180px !important; max-height: 43px; object-fit: contain; }
body > header #navigationPrimary a,
body > header #navigationUser a { color: rgba(255,255,255,.88) !important; font-family: var(--casp-sans) !important; }
body > header #navigationPrimary a:hover,
body > header #navigationUser a:hover { color: var(--casp-gold) !important; }
html:not(.dark) body > header #navigationPrimary [x-show] a { color: var(--casp-navy) !important; }
html:not(.dark) body > header #navigationPrimary [x-show] a:hover,
html:not(.dark) body > header #navigationPrimary [x-show] a:focus-visible {
    background: var(--casp-paper);
    color: var(--casp-blue) !important;
}
body > header #navigationPrimary > li > a,
body > header #navigationUser > li > a,
body > header .pkp_navigation_search_wrapper a,
body > header button { border-radius: 3px !important; box-shadow: none !important; }
body > header .pkp_navigation_search_wrapper a,
body > header button { color: var(--casp-white) !important; }
body > header .pkp_navigation_search_wrapper svg,
body > header button svg { stroke: currentColor !important; }
body > header button[aria-label="Open navigation"] svg { stroke: var(--casp-white) !important; }
body > header [role="dialog"] [id^="headlessui-dialog-panel"] { background: var(--casp-paper) !important; color: var(--casp-ink) !important; }
body > header [role="dialog"] #navigationPrimary a,
body > header [role="dialog"] #navigationUser a,
body > header [role="dialog"] a { color: var(--casp-navy) !important; }
body > header [role="dialog"] a:hover { color: var(--casp-blue) !important; }
body > header [role="dialog"] button,
body > header [role="dialog"] button svg { color: var(--casp-navy) !important; stroke: var(--casp-navy) !important; }

/* Hero: reuse CASP's aircraft image, anchored in the same deep navy. */
body.pkp_page_index.pkp_op_index > header + div.relative.overflow-hidden {
    background: var(--casp-hero-overlay), url('casp-hero.webp') center 44% / cover no-repeat !important;
}
body.pkp_page_index.pkp_op_index > header + div.relative.overflow-hidden > img[src*="gradient-noise-purple"] { display: none; }
body.pkp_page_index.pkp_op_index > header + div.relative.overflow-hidden > div { padding-top: clamp(4rem, 7vw, 7rem) !important; padding-bottom: clamp(4rem, 7vw, 7rem) !important; }
body.pkp_page_index.pkp_op_index > header + div.relative.overflow-hidden .max-w-2xl { max-width: 1200px !important; }
body.pkp_page_index.pkp_op_index > header + div.relative.overflow-hidden .max-w-2xl > div:first-child { max-width: 720px; }
body.pkp_page_index.pkp_op_index > header + div.relative.overflow-hidden p.font-display {
    display: block;
    max-width: 15ch;
    color: var(--casp-white) !important;
    font-family: var(--casp-serif) !important;
    font-size: clamp(2.5rem, 4.5vw, 4.6rem) !important;
    font-weight: 600 !important;
    line-height: 1.08;
    letter-spacing: -.035em;
    overflow-wrap: anywhere;
}
body.pkp_page_index.pkp_op_index > header + div.relative.overflow-hidden .line-clamp-3 {
    max-width: 62ch;
    margin-top: 1.5rem;
    color: color-mix(in srgb, var(--casp-white) 84%, transparent) !important;
    font-family: var(--casp-sans);
    font-size: clamp(1rem, 1.55vw, 1.125rem) !important;
    line-height: 1.65;
    letter-spacing: 0;
    -webkit-line-clamp: 4;
}
body.pkp_page_index.pkp_op_index > header + div.relative.overflow-hidden .line-clamp-3 p { margin: 0 0 .75rem; }
body.pkp_page_index.pkp_op_index > header + div.relative.overflow-hidden a[role="button"],
body.pkp_page_index.pkp_op_index > header + div.relative.overflow-hidden a.rounded-full {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: .7rem 1.25rem !important;
    border: 1px solid var(--casp-gold);
    border-radius: 3px !important;
    background: var(--casp-gold) !important;
    color: var(--casp-navy) !important;
    font-family: var(--casp-sans);
    font-weight: 600;
    text-decoration: none;
}
body.pkp_page_index.pkp_op_index > header + div.relative.overflow-hidden a.rounded-full + a.rounded-full {
    background: transparent !important;
    border-color: color-mix(in srgb, var(--casp-white) 45%, transparent);
    color: var(--casp-white) !important;
}
body.pkp_page_index.pkp_op_index > header + div.relative.overflow-hidden a.rounded-full:hover { filter: brightness(.92); }

/* Reading surface: open editorial sections and hairline separators. */
body > div.relative.mx-auto { background: var(--casp-paper); }
body main { background: var(--casp-paper); color: var(--casp-ink) !important; }
body main .prose { color: var(--casp-muted) !important; font-family: var(--casp-sans); line-height: 1.75; }
body main .prose a { color: var(--casp-blue) !important; text-decoration-color: var(--casp-brass); }
body main .prose :is(h1,h2,h3,h4) { color: var(--casp-navy) !important; letter-spacing: -.025em; }
.page_index_journal > section { padding-bottom: 2.5rem; }
.page_index_journal > section + section { padding-top: 2.5rem; border-top: 1px solid var(--casp-line); }
.page_index_journal > section > h2 { margin: 0 0 1.25rem; font-size: clamp(1.8rem, 3vw, 2.45rem); font-weight: 600; }
.homepage_about { max-width: 76ch; }
.current_issue_title { margin: -.5rem 0 2rem; color: var(--casp-muted); font-size: 1rem; line-height: 1.55; }
.obj_issue_toc img { border-color: var(--casp-line) !important; border-radius: 2px; }
.obj_issue_toc :is(h2,h3,h4) { font-family: var(--casp-serif) !important; }
.obj_issue_toc li { border-bottom-color: var(--casp-line); }
.obj_article_summary { border-bottom: 1px solid var(--casp-line); padding: 1.1rem 0; }
.obj_article_summary h4 a { color: var(--casp-navy) !important; }
.obj_article_summary h4 a:hover { color: var(--casp-blue) !important; }
.obj_article_details dt { color: var(--casp-muted) !important; }
.obj_article_details dd,
.obj_article_details dd :is(p, li, span) { color: var(--casp-muted) !important; line-height: 1.7; }
.obj_galley_link,
body main a[role="button"],
body main a.read_more {
    border-radius: 3px !important;
    box-shadow: none !important;
}
.obj_galley_link,
body main .prose a.obj_galley_link {
    background: var(--casp-blue) !important;
    color: var(--casp-white) !important;
}
.obj_galley_link svg { fill: currentColor; }
.obj_galley_link:hover { background: var(--casp-navy-mid) !important; }

/* Sidebar and footer keep the journal tied to its parent institution. */
body aside, body .pkp_structure_sidebar { border-color: var(--casp-line); }
body aside a { color: var(--casp-blue) !important; }
body footer.footer { background: var(--casp-navy) !important; color: color-mix(in srgb, var(--casp-white) 72%, transparent) !important; }
body footer.footer :is(p,a) { color: inherit !important; }
body footer.footer a:hover { color: var(--casp-gold) !important; }

/* Material Theme's dark switch retains legible reading surfaces and links. */
html.dark body, html.dark body main, html.dark body > div.relative.mx-auto { background: var(--casp-navy) !important; color: var(--casp-on-dark) !important; }
html.dark body main .prose { color: var(--casp-muted-on-dark) !important; }
html.dark body main .prose :is(h1,h2,h3,h4),
html.dark .obj_article_summary h4 a { color: var(--casp-on-dark) !important; }
html.dark body main .prose a,
html.dark body aside a { color: var(--casp-gold) !important; }
html.dark .page_index_journal > section + section,
html.dark .obj_article_summary { border-color: var(--casp-line-on-dark); }
html.dark .current_issue_title { color: var(--casp-muted-on-dark); }
html.dark .obj_article_details :is(dt, dd),
html.dark .obj_article_details dd :is(p, li, span) { color: var(--casp-muted-on-dark) !important; }

/* Existing Material Theme PDF alignment correction. */
.obj_article_summary li.flex.justify-between { justify-content: flex-start !important; }
.obj_article_summary .flex-1 { flex: 0 0 auto !important; }
.obj_article_summary ul.justify-end,
.obj_article_summary ul { justify-content: flex-start !important; margin-left: 0 !important; margin-top: .75rem; }
.obj_article_summary ul li { margin-left: 0 !important; }

@media (max-width: 767px) {
    .casp-journal-brand-name { display: none; }
    body.pkp_page_index.pkp_op_index > header + div.relative.overflow-hidden { background-position: 61% center !important; }
    body.pkp_page_index.pkp_op_index > header + div.relative.overflow-hidden .max-w-2xl { display: block; }
    body.pkp_page_index.pkp_op_index > header + div.relative.overflow-hidden .line-clamp-3 { -webkit-line-clamp: 5; }
    body.pkp_page_index.pkp_op_index > header + div.relative.overflow-hidden .mt-8.flex { flex-wrap: wrap; }
    .page_index_journal > section + section { padding-top: 2rem; }
}
