/* Portofolio v12.11: consolidated from six existing stylesheets in unchanged order. */

/* ==== site.css ==== */
@font-face{font-family:InterCustom;src:local("Inter"),local("Segoe UI");font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:InterCustom,"Segoe UI",Arial,sans-serif;color:#142033;background:#fbfaf7;line-height:1.65;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.skip-link{position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:10px 14px;border-radius:12px;z-index:1000}.skip-link:focus{left:8px}.site-header{position:sticky;top:0;z-index:100;background:rgba(251,250,247,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(13,31,59,.08);transition:.25s}.site-header.is-scrolled{box-shadow:0 18px 50px rgba(13,31,59,.08)}.nav-shell{height:86px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:14px;min-width:0}.brand-logo{width:52px;height:52px;border-radius:18px;object-fit:cover;box-shadow:0 10px 30px rgba(11,29,58,.14)}.brand-text{display:grid;line-height:1.1}.brand-text strong{font-size:1rem;color:var(--primary);white-space:nowrap}.brand-text em{font-style:normal;letter-spacing:.13em;text-transform:uppercase;color:#657186;font-size:.72rem;margin-top:4px}.nav-menu{display:flex;align-items:center;gap:8px}.nav-menu a{padding:12px 16px;border-radius:999px;font-weight:750;color:#374762}.nav-menu a:hover,.nav-menu a.is-active{background:rgba(11,29,58,.08);color:var(--primary)}.nav-menu .nav-cta{background:var(--primary);color:#fff;padding-inline:22px}.nav-menu .nav-cta:hover{background:#071428;color:#fff}.nav-toggle{display:none;border:0;background:var(--primary);width:48px;height:48px;border-radius:16px;align-items:center;justify-content:center;flex-direction:column;gap:5px}.nav-toggle span{width:19px;height:2px;background:white;border-radius:3px}.section-pad{padding:96px 0}.small-top{padding-top:48px}.muted{background:linear-gradient(180deg,#f5f1ea,#fbfaf7)}.eyebrow{margin:0 0 14px;text-transform:uppercase;letter-spacing:.17em;font-size:.74rem;font-weight:850;color:var(--accent)}.eyebrow.light{color:#e7c889}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.8rem,6vw,5.8rem);line-height:.97;letter-spacing:-.07em;color:var(--primary);margin-bottom:24px;max-width:980px}h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.04;letter-spacing:-.05em;color:var(--primary);margin-bottom:16px}h3{font-size:1.12rem;line-height:1.25;color:var(--primary);margin-bottom:10px}.lead{font-size:clamp(1.05rem,2vw,1.35rem);color:#536175;max-width:760px}.section-head{max-width:780px;margin-bottom:36px}.section-head p:last-child{color:#637087;font-size:1.05rem}.hero{position:relative;overflow:hidden;padding-top:78px;background:radial-gradient(circle at 78% 18%,rgba(184,137,59,.18),transparent 32%),linear-gradient(135deg,#fffaf0 0%,#fbfaf7 45%,#eef3f9 100%)}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(11,29,58,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(11,29,58,.055) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,black,transparent 88%);pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1.06fr .72fr;gap:64px;align-items:center}.hero-copy .lead{max-width:710px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;font-weight:850;transition:.2s;border:1px solid transparent}.btn.primary{background:var(--primary);color:#fff;box-shadow:0 18px 40px rgba(11,29,58,.18)}.btn.primary:hover{transform:translateY(-2px);box-shadow:0 22px 50px rgba(11,29,58,.25)}.btn.ghost{border-color:rgba(11,29,58,.14);background:rgba(255,255,255,.7);color:var(--primary)}.btn.ghost:hover{background:#fff;transform:translateY(-2px)}.btn.ghost.dark{background:#fff}.btn.light{background:#fff;color:var(--primary)}.portrait-card{position:relative;background:#fff;border:1px solid rgba(11,29,58,.08);border-radius:42px;padding:18px;box-shadow:0 30px 80px rgba(11,29,58,.14);overflow:hidden;isolation:isolate}.portrait-card:before{content:"";height:42%;position:absolute;left:0;right:0;top:0;background:linear-gradient(135deg,var(--primary),#214e7c);z-index:-1}.portrait-glow{position:absolute;inset:auto -20% -25% 10%;height:180px;background:radial-gradient(circle,rgba(184,137,59,.45),transparent 70%);filter:blur(18px);z-index:-1}.portrait-card img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:32px;background:#e9edf2}.portrait-caption{padding:24px 10px 8px;text-align:center}.portrait-caption span{display:block;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:850;color:#68748a}.portrait-caption strong{display:block;font-size:1.55rem;font-weight:900;color:var(--primary);letter-spacing:-.04em;margin-top:8px}.portrait-caption em{font-style:normal;color:#68748a}.metrics-strip{position:relative;margin-top:58px;background:rgba(255,255,255,.78);backdrop-filter:blur(20px);border:1px solid rgba(11,29,58,.08);border-radius:30px;padding:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;box-shadow:0 24px 70px rgba(11,29,58,.08)}.metrics-strip div{padding:22px;border-radius:22px;background:linear-gradient(180deg,#fff,rgba(255,255,255,.64))}.metrics-strip strong{display:block;font-size:2rem;line-height:1;color:var(--primary);letter-spacing:-.05em}.metrics-strip span{display:block;margin-top:8px;color:#68748a;font-size:.95rem}.intro-grid{display:grid;grid-template-columns:1.1fr .7fr;gap:50px;align-items:start}.focus-card{background:var(--primary);color:#fff;border-radius:34px;padding:38px;min-height:260px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 25px 65px rgba(11,29,58,.18)}.focus-card .quote-mark{font-size:5rem;line-height:.7;color:var(--accent);font-family:Georgia,serif}.focus-card p:last-child{font-size:1.35rem;line-height:1.45;margin-bottom:0}.text-link{font-weight:900;color:var(--primary);border-bottom:1px solid rgba(11,29,58,.24)}.text-link:hover{color:var(--accent)}.role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.role-card{background:#fff;border:1px solid rgba(11,29,58,.08);border-radius:28px;padding:26px;box-shadow:0 18px 50px rgba(11,29,58,.06);min-height:230px}.role-card span{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:16px;background:var(--soft);color:var(--accent);font-weight:900;margin-bottom:26px}.role-card p,.line-card p,.timeline-card p,.publication-card p,.publication-row p{color:#667286}.split-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:58px;align-items:start}.split-grid.reverse{grid-template-columns:1.05fr .95fr}.expertise-list{display:grid;gap:16px}.expertise-list.two-col{grid-template-columns:repeat(2,1fr)}.line-card{background:#fff;border:1px solid rgba(11,29,58,.08);border-radius:26px;padding:24px;box-shadow:0 14px 40px rgba(11,29,58,.05)}.publication-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.publication-card{background:#fff;border:1px solid rgba(11,29,58,.08);border-radius:28px;padding:26px;box-shadow:0 16px 44px rgba(11,29,58,.06)}.publication-card h3{font-size:1.25rem}.pub-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.pub-meta span{background:var(--soft);color:var(--primary);font-size:.72rem;font-weight:850;padding:7px 10px;border-radius:999px}.publication-card a{display:inline-block;margin-top:14px;font-weight:900;color:var(--accent)}.center-action{text-align:center;margin-top:34px}.activity-stack{display:grid;gap:14px}.timeline-card{background:#fff;border:1px solid rgba(11,29,58,.08);border-radius:26px;padding:24px;box-shadow:0 14px 42px rgba(11,29,58,.05)}.timeline-card time{display:block;color:var(--accent);font-weight:850;font-size:.86rem;margin-bottom:10px}.dark-band{background:linear-gradient(135deg,var(--primary),#123864);color:#fff}.dark-band h2{color:#fff}.dark-band p{color:#d5deea}.cta-grid{display:grid;grid-template-columns:1fr .75fr;gap:54px;align-items:center}.page-hero{background:linear-gradient(135deg,#fffaf0 0%,#f5f1ea 60%,#eef3f9 100%);position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;right:-10%;top:-50%;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(184,137,59,.22),transparent 68%)}.page-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr .42fr;gap:54px;align-items:center}.narrow{max-width:900px}.mini-profile,.contact-card{background:rgba(255,255,255,.76);backdrop-filter:blur(20px);border:1px solid rgba(11,29,58,.08);border-radius:34px;padding:22px;box-shadow:0 24px 70px rgba(11,29,58,.08)}.mini-profile{display:flex;align-items:center;gap:18px}.mini-profile img{width:82px;height:82px;border-radius:26px;object-fit:cover}.mini-profile strong,.mini-profile span{display:block}.mini-profile span{color:#667286}.prose-grid{display:grid;grid-template-columns:260px 1fr;gap:50px}.profile-sidebar{position:sticky;top:112px;display:grid;gap:8px;align-self:start}.sidebar-link{padding:12px 14px;border-radius:16px;color:#607086;font-weight:800}.sidebar-link:hover{background:var(--soft);color:var(--primary)}.profile-content{display:grid;gap:22px}.content-block{background:#fff;border:1px solid rgba(11,29,58,.08);border-radius:34px;padding:34px;box-shadow:0 14px 44px rgba(11,29,58,.05);scroll-margin-top:120px}.content-block>p{color:#5f6d82;font-size:1.06rem}.focus-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.focus-pills span{padding:10px 14px;background:var(--soft);border-radius:999px;font-weight:850;color:var(--primary);font-size:.9rem}.timeline-list{display:grid;gap:16px}.timeline-list article{display:grid;grid-template-columns:150px 1fr;gap:22px;padding:20px;border:1px solid rgba(11,29,58,.08);border-radius:22px;background:#fbfaf7}.timeline-list time{font-weight:900;color:var(--accent)}.filter-bar{display:flex;align-items:center;gap:16px;margin-bottom:24px}.filter-bar input{width:100%;border:1px solid rgba(11,29,58,.12);background:#fff;border-radius:22px;min-height:56px;padding:0 18px;font:inherit;outline:none;box-shadow:0 10px 30px rgba(11,29,58,.04)}.filter-bar input:focus{border-color:var(--accent)}.filter-bar span{white-space:nowrap;font-weight:850;color:#677488}.publication-list{display:grid;gap:16px}.publication-row{display:grid;grid-template-columns:110px 1fr;gap:24px;background:#fff;border:1px solid rgba(11,29,58,.08);border-radius:28px;padding:26px;box-shadow:0 16px 46px rgba(11,29,58,.05)}.pub-year{font-size:1.5rem;font-weight:950;color:var(--accent);letter-spacing:-.04em}.authors{font-weight:850;color:var(--primary)!important}.contact-card{display:grid;gap:12px}.contact-card a,.contact-card span{background:#fff;border:1px solid rgba(11,29,58,.08);border-radius:18px;padding:14px;font-weight:850;color:var(--primary)}.service-grid{display:grid;gap:16px}.contact-panel{background:var(--primary);color:#fff;border-radius:34px;padding:32px;box-shadow:0 24px 70px rgba(11,29,58,.16)}.contact-panel h2{color:#fff;font-size:2.2rem}.profile-links{display:grid;gap:10px}.profile-links a{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:16px;color:#fff;font-weight:850}.profile-links a:hover{background:rgba(255,255,255,.14)}.global-footer{background:#071428;color:#fff;padding:76px 0 24px}.footer-grid{display:grid;grid-template-columns:1fr .85fr;gap:60px}.global-footer h2{color:#fff}.global-footer p{color:#c9d2df}.footer-panel{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:30px;padding:30px}.footer-panel h3{color:#fff}.footer-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.footer-links a{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.08);font-size:.88rem;color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);margin-top:54px;padding-top:22px;color:#9daabd;font-size:.9rem}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.22s}@media (max-width:980px){.nav-toggle{display:flex}.nav-menu{position:absolute;left:20px;right:20px;top:78px;background:#fff;border:1px solid rgba(11,29,58,.08);border-radius:26px;padding:12px;box-shadow:0 24px 70px rgba(11,29,58,.14);display:none;flex-direction:column;align-items:stretch}.nav-menu.is-open{display:flex}.nav-menu a{text-align:center}.hero-grid,.intro-grid,.split-grid,.split-grid.reverse,.page-hero-grid,.prose-grid,.footer-grid,.cta-grid{grid-template-columns:1fr}.role-grid,.publication-grid,.expertise-list.two-col{grid-template-columns:repeat(2,1fr)}.profile-sidebar{position:relative;top:auto;display:flex;flex-wrap:wrap}.metrics-strip{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.container{width:min(100% - 28px,1180px)}.section-pad{padding:68px 0}.small-top{padding-top:34px}.brand-text strong{max-width:180px;overflow:hidden;text-overflow:ellipsis}.brand-text em{display:none}h1{font-size:clamp(2.45rem,14vw,4rem)}h2{font-size:2rem}.role-grid,.publication-grid,.expertise-list.two-col,.metrics-strip{grid-template-columns:1fr}.timeline-list article,.publication-row{grid-template-columns:1fr}.portrait-card{border-radius:30px}.content-block{padding:24px;border-radius:26px}.footer-bottom{flex-direction:column}.filter-bar{flex-direction:column;align-items:stretch}.filter-bar span{white-space:normal}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}.btn:hover{transform:none}}
.language-switch{border:1px solid rgba(11,29,58,.14)!important;background:#fff!important;color:var(--primary)!important;min-width:48px;text-align:center;font-weight:950!important}.language-switch:hover{background:var(--soft)!important;color:var(--primary)!important}.language-switch.is-active{background:var(--primary)!important;color:#fff!important}
@media (max-width:980px){.language-switch{width:100%}}

/* v9 publication link refinements */
.publication-card h3 a,.publication-row h2 a{color:inherit}.publication-card h3 a:hover,.publication-row h2 a:hover{color:var(--accent)}.pub-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.pub-actions a{display:inline-flex!important;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border:1px solid rgba(184,137,59,.28);border-radius:999px;background:rgba(184,137,59,.08);color:var(--primary)!important;font-weight:900}.pub-actions a:hover{background:var(--primary);color:#fff!important;border-color:var(--primary)}.row-actions{margin-top:18px}.row-actions .text-link{border-bottom:0!important}

/* v10 language selector and back-to-top refinement */
.language-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid rgba(11,29,58,.14);background:#fff;border-radius:999px;box-shadow:0 8px 24px rgba(11,29,58,.06)}
.nav-menu .language-toggle .language-switch{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px;padding:8px 12px!important;border:0!important;border-radius:999px!important;background:transparent!important;color:#647188!important;font-size:.82rem;font-weight:950!important;line-height:1;text-align:center}
.nav-menu .language-toggle .language-switch:hover{background:var(--soft)!important;color:var(--primary)!important}
.nav-menu .language-toggle .language-switch.is-active{background:var(--primary)!important;color:#fff!important;box-shadow:0 10px 22px rgba(11,29,58,.18)}
.back-to-top{position:fixed;right:22px;bottom:22px;z-index:120;width:52px;height:52px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:1.25rem;font-weight:950;box-shadow:0 18px 44px rgba(11,29,58,.22);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(14px) scale(.96);transition:opacity .22s ease,visibility .22s ease,transform .22s ease,background .22s ease}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.back-to-top:hover{background:var(--accent);transform:translateY(-3px) scale(1)}
.back-to-top:focus-visible{outline:3px solid rgba(184,137,59,.42);outline-offset:4px}
@media (max-width:980px){.language-toggle{width:100%;justify-content:center}.nav-menu .language-toggle .language-switch{flex:1}.back-to-top{right:16px;bottom:16px;width:48px;height:48px}}

/* v11 expanded academic modules */
.theme-toggle{width:42px;height:42px;border:1px solid rgba(11,29,58,.14);border-radius:999px;background:#fff;color:var(--primary);font-weight:950;cursor:pointer;display:inline-grid;place-items:center;box-shadow:0 8px 24px rgba(11,29,58,.06)}
.theme-toggle:hover{background:var(--soft)}
.cv-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.cv-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 14px;border-radius:999px;border:1px solid rgba(11,29,58,.14);background:#fff;color:var(--primary);font-weight:900;box-shadow:0 10px 26px rgba(11,29,58,.06)}.cv-actions a:hover{background:var(--primary);color:#fff}.hero-cv-actions{margin-top:18px}.footer-cv-actions a{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff}.footer-nav-links{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:18px 0}.footer-nav-links a{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.06);color:#fff;font-weight:850}.footer-nav-links a:hover{background:rgba(255,255,255,.12)}
.feature-grid,.news-grid,.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card,.news-card,.media-card{background:#fff;border:1px solid rgba(11,29,58,.08);border-radius:28px;padding:26px;box-shadow:0 16px 44px rgba(11,29,58,.06)}.feature-card small{display:block;color:var(--accent);font-weight:900;margin:12px 0}.feature-card p,.news-card p,.media-card p,.feature-row p,.news-row p{color:#667286}.news-card time,.news-row time{display:block;color:var(--accent);font-weight:950;margin-bottom:6px}.news-card>span,.news-row span{display:inline-flex;padding:7px 10px;border-radius:999px;background:var(--soft);color:var(--primary);font-size:.72rem;font-weight:900;margin-bottom:12px}.feature-list,.news-list{display:grid;gap:16px}.feature-row,.news-row{display:grid;grid-template-columns:150px 1fr;gap:24px;background:#fff;border:1px solid rgba(11,29,58,.08);border-radius:28px;padding:26px;box-shadow:0 16px 46px rgba(11,29,58,.05)}.feature-year{font-size:1.2rem;font-weight:950;color:var(--accent);letter-spacing:-.04em}.feature-row h2,.news-row h2,.media-card h2{font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.1;letter-spacing:-.04em}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-card{margin:0;position:relative;overflow:hidden;border-radius:30px;background:#fff;border:1px solid rgba(11,29,58,.08);box-shadow:0 16px 44px rgba(11,29,58,.06)}.gallery-card img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#eef2f6;transition:transform .3s ease}.gallery-card:hover img{transform:scale(1.035)}.gallery-card figcaption{padding:18px}.gallery-card figcaption strong{display:block;color:var(--primary);font-size:1rem;line-height:1.25}.gallery-card figcaption span{display:block;color:#667286;font-size:.92rem;margin-top:6px}.full-gallery{grid-template-columns:repeat(3,1fr)}.compact-gallery{grid-template-columns:repeat(3,1fr)}.cv-contact-box{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:20px;margin-bottom:18px}.cv-contact-box h2{font-size:1.5rem;color:#fff}.cv-contact-box p{color:#d2dbe7}.cv-contact-box .cv-actions a{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.14);color:#fff}.media-card .text-link,.feature-card .text-link,.news-row .text-link,.feature-row .text-link,.media-card .text-link{display:inline-block;margin-top:14px}

/* dark mode */
[data-theme="dark"] body{background:#071428;color:#d8e1ec}[data-theme="dark"] .site-header{background:rgba(7,20,40,.78);border-bottom-color:rgba(255,255,255,.09)}[data-theme="dark"] .brand-text strong,[data-theme="dark"] h1,[data-theme="dark"] h2,[data-theme="dark"] h3,[data-theme="dark"] .text-link,[data-theme="dark"] .authors{color:#f7fafc!important}[data-theme="dark"] .brand-text em,[data-theme="dark"] .lead,[data-theme="dark"] .section-head p:last-child,[data-theme="dark"] .role-card p,[data-theme="dark"] .line-card p,[data-theme="dark"] .timeline-card p,[data-theme="dark"] .publication-card p,[data-theme="dark"] .publication-row p,[data-theme="dark"] .feature-card p,[data-theme="dark"] .news-card p,[data-theme="dark"] .media-card p,[data-theme="dark"] .feature-row p,[data-theme="dark"] .news-row p,[data-theme="dark"] .gallery-card figcaption span{color:#aab7c8!important}[data-theme="dark"] .hero,[data-theme="dark"] .page-hero{background:radial-gradient(circle at 78% 18%,rgba(184,137,59,.16),transparent 32%),linear-gradient(135deg,#071428,#0b1d3a 56%,#0f2749)}[data-theme="dark"] .muted{background:linear-gradient(180deg,#0b1d3a,#071428)}[data-theme="dark"] .portrait-card,[data-theme="dark"] .metrics-strip,[data-theme="dark"] .metrics-strip div,[data-theme="dark"] .role-card,[data-theme="dark"] .line-card,[data-theme="dark"] .publication-card,[data-theme="dark"] .timeline-card,[data-theme="dark"] .content-block,[data-theme="dark"] .publication-row,[data-theme="dark"] .feature-card,[data-theme="dark"] .news-card,[data-theme="dark"] .media-card,[data-theme="dark"] .feature-row,[data-theme="dark"] .news-row,[data-theme="dark"] .gallery-card,[data-theme="dark"] .mini-profile,[data-theme="dark"] .contact-card{background:#0d203b;border-color:rgba(255,255,255,.09);box-shadow:0 18px 55px rgba(0,0,0,.18)}[data-theme="dark"] .btn.ghost,[data-theme="dark"] .btn.ghost.dark,[data-theme="dark"] .theme-toggle,[data-theme="dark"] .language-toggle,[data-theme="dark"] .contact-card a,[data-theme="dark"] .contact-card span,[data-theme="dark"] .filter-bar input,[data-theme="dark"] .cv-actions a{background:#0d203b;color:#f7fafc;border-color:rgba(255,255,255,.12)}[data-theme="dark"] .btn.ghost:hover,[data-theme="dark"] .theme-toggle:hover,[data-theme="dark"] .cv-actions a:hover{background:#132b4e}[data-theme="dark"] .nav-menu a{color:#d8e1ec}[data-theme="dark"] .nav-menu a:hover,[data-theme="dark"] .nav-menu a.is-active{background:rgba(255,255,255,.08);color:#fff}[data-theme="dark"] .nav-menu .nav-cta{background:#fff;color:#071428}[data-theme="dark"] .pub-meta span,[data-theme="dark"] .focus-pills span,[data-theme="dark"] .news-card>span,[data-theme="dark"] .news-row span{background:rgba(184,137,59,.16);color:#f5d398}[data-theme="dark"] .timeline-list article{background:#0a1a30;border-color:rgba(255,255,255,.09)}[data-theme="dark"] .global-footer{background:#030914}

@media (max-width:1180px){.nav-shell{height:auto;min-height:86px;padding-block:14px}.nav-menu{gap:4px}.nav-menu a{padding:10px 12px;font-size:.92rem}}
@media (max-width:980px){.feature-grid,.news-grid,.media-grid,.gallery-grid,.full-gallery,.compact-gallery{grid-template-columns:repeat(2,1fr)}.feature-row,.news-row{grid-template-columns:1fr}.theme-toggle{width:100%;height:44px}.footer-nav-links{grid-template-columns:1fr}}
@media (max-width:640px){.feature-grid,.news-grid,.media-grid,.gallery-grid,.full-gallery,.compact-gallery{grid-template-columns:1fr}.cv-actions a{width:100%}}


/* ==== site-v126.css ==== */
/* v12.6 — Premium Academic Editorial | Public pages only */
:root{--ink:#14243c;--paper:#fbfaf7;--cream:#f4f1eb;--line:rgba(16,33,57,.15);--muted-ink:#617084;--gold:#aa7c34;--display:Georgia,"Times New Roman",serif;--ui:"Segoe UI",Inter,Arial,sans-serif}
html{scroll-padding-top:100px}
body{font-family:var(--ui);background:var(--paper);color:var(--ink);line-height:1.65;font-size:15px;letter-spacing:-.006em}
.container{width:min(1240px,calc(100% - 88px))}
::selection{background:#d7bc83;color:#12243e}
:where(a,button,input):focus-visible{outline:3px solid #c19a58;outline-offset:4px}
h1,h2,h3{letter-spacing:-.035em}
h1,h2{font-family:var(--display);font-weight:500;color:var(--ink);line-height:1.095}
h2{font-size:clamp(2.4rem,4.4vw,4.45rem)}
h3{font-weight:700}
p{max-width:80ch}
.section-pad{padding:108px 0}
.small-top{padding-top:72px}
.muted{background:#f4f2ed}
.eyebrow{color:#93703b;font:750 .75rem/1.4 var(--ui);letter-spacing:.15em;margin-bottom:22px}
.section-head{max-width:800px;margin-bottom:48px}
.section-head p:last-child{color:var(--muted-ink);font-size:1.03rem;line-height:1.8}
.section-head h2{max-width:780px}
.text-link{font-weight:700;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:5px}
.btn{border-radius:8px;min-height:52px;font-size:.85rem;font-weight:760;letter-spacing:.012em;gap:16px;padding-inline:22px;box-shadow:none!important}
.btn.primary{background:#10243f;box-shadow:none}
.btn.ghost,.btn.ghost.dark{border-color:rgba(18,36,61,.24);background:transparent}
.btn.light{background:#ebd5af;color:#0e223b}
.btn:hover{transform:translateY(-2px)}
.btn span:last-child{font-size:1.1rem;font-weight:400}
/* Fixed top navigation */
.site-header.editorial-header{background:rgba(251,250,247,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(22px)}
.site-header.is-scrolled{box-shadow:0 10px 35px rgba(10,25,44,.045)}
.nav-shell{height:90px;gap:24px}
.brand{gap:12px;flex-shrink:0}
.brand-logo{width:45px;height:45px;box-shadow:none;border:1px solid rgba(16,36,61,.12);border-radius:9px;background:white;padding:3px}
.brand-text strong{font-size:.91rem;font-weight:800;color:#10243f;max-width:250px;overflow:hidden;text-overflow:ellipsis}
.brand-text em{font-size:.6rem;font-weight:700;letter-spacing:.2em;margin-top:6px;color:#83765f}
.nav-menu{gap:0}
.nav-menu>a{border-radius:0;padding:10px 11px;font-weight:700;font-size:.76rem;color:#526074;position:relative;white-space:nowrap;transition:color .2s}
.nav-menu>a:not(.nav-cta):after{content:"";position:absolute;left:11px;bottom:4px;width:0;height:2px;background:#a77a38;transition:width .2s}
.nav-menu>a:not(.nav-cta):hover:after,.nav-menu>a:not(.nav-cta).is-active:after{width:calc(100% - 22px)}
.nav-menu>a:hover,.nav-menu>a.is-active{background:transparent;color:#152744}
.nav-menu>.nav-cta{margin-left:12px;padding:12px 17px;background:#122540;color:#fff;font-size:.76rem;display:inline-flex;align-items:center;gap:16px;border-radius:7px}
.nav-menu>.nav-cta:hover,.nav-menu>.nav-cta.is-active{background:#213e5e;color:white}
.theme-toggle{margin-left:10px;width:37px;height:37px;box-shadow:none;font-size:1.1rem;border-radius:8px;background:transparent}
.nav-toggle{border-radius:8px;background:#112642}
/* Home hero: strong editorial composition */
.editorial-hero{padding:66px 0 0;background:linear-gradient(105deg,#faf8f3 0%,#faf8f3 56%,#eae6dc 56%,#eae6dc 100%);overflow:hidden;position:relative}
.editorial-hero:before{display:none}
.editorial-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:4.2%;align-items:stretch;min-height:520px}
.editorial-hero-copy{padding:42px 0 34px;align-self:center;position:relative;z-index:2}
.editorial-eyebrow{display:flex;align-items:center;gap:15px;letter-spacing:.19em;color:#826536}
.eyebrow-rule{width:34px;height:1px;background:#ae8650}
.hero-overline{font-size:.81rem;text-transform:uppercase;letter-spacing:.13em;color:#5a6880;font-weight:650;max-width:500px;margin:28px 0 6px}
.editorial-hero h1{font:500 clamp(3.4rem,5.7vw,6.5rem)/1.02 var(--display);letter-spacing:-.06em;margin:0 0 16px;color:#112540;max-width:760px;overflow-wrap:anywhere}
.hero-title-period{color:#b89055}
.hero-copy-rule{width:88px;height:3px;background:#a37a46;margin:32px 0}
.hero-message{font:500 clamp(1.28rem,2vw,1.76rem)/1.26 var(--display);color:#243852;max-width:560px;margin-bottom:8px}
.hero-description{color:#637086;font-size:.92rem;line-height:1.68;max-width:510px;margin-bottom:0}
.hero-actions{margin-top:30px;gap:11px}
.hero-affiliation{display:flex;align-items:center;gap:10px;color:#536178;margin-top:22px;font-size:.78rem;line-height:1.45;font-weight:650}
.hero-affiliation-icon{color:#a67b3f;font-size:1.2rem}
.hero-affiliation-separator{margin:0 6px;color:#bd8e50}
.editorial-visual{position:relative;display:flex;align-items:end;isolation:isolate;padding:30px 0 0}
.visual-frame{width:100%;height:100%;max-height:665px;min-height:520px;position:relative;overflow:hidden;background:#cbc7bb}
.visual-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,25,39,.34),transparent 35%);pointer-events:none}
.visual-frame img{width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:saturate(.8)}
.visual-index{position:absolute;bottom:25px;left:25px;right:25px;z-index:1;display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:.68rem;font-weight:780;letter-spacing:.18em}
.visual-index strong{font-size:.78rem}
.visual-accent{position:absolute;top:10px;right:-22px;padding:20px 23px;background:#b48a50;color:white;font-size:.66rem;letter-spacing:.14em;line-height:1.6;font-weight:750;z-index:2;box-shadow:0 14px 42px #11233d25}
.metric-wrap{position:relative;z-index:3}
.editorial-metrics{margin:0;border-radius:0;box-shadow:none;border:1px solid var(--line);border-top:none;background:#fff;backdrop-filter:none;padding:0;grid-template-columns:repeat(4,1fr);gap:0}
.editorial-metrics .metric-cell{background:none;min-height:135px;border-radius:0;padding:28px 32px;display:flex;flex-direction:column;justify-content:center;gap:6px}
.editorial-metrics .metric-cell:not(:last-child){border-right:1px solid var(--line)}
.editorial-metrics strong{font:500 clamp(2.2rem,3vw,3.1rem)/1 var(--display);letter-spacing:-.06em;color:#142a48}
.editorial-metrics span{font-size:.78rem;color:#788293;margin-top:5px}
/* Section labels, systematic whitespace and typographic hierarchy */
.editorial-intro-grid{display:grid;grid-template-columns:215px 1fr;gap:7%}
.editorial-section-rail{padding-top:14px;display:flex;flex-direction:column;gap:20px;color:#9a7847;font-size:.76rem;font-weight:800;letter-spacing:.13em}
.rail-line{width:1px;height:120px;background:linear-gradient(#a57c45,#e2dace)}
.editorial-intro h2{font-size:clamp(2.5rem,4.4vw,4.7rem);max-width:925px;margin-bottom:29px}
.editorial-intro-details{display:grid;grid-template-columns:1fr .9fr;gap:8%;align-items:start;margin-top:27px;margin-bottom:30px}
.editorial-intro-details>p{color:#5c6879;font-size:1.03rem;line-height:1.9;margin:0}
.signature-block{border-left:2px solid #b99055;padding-left:25px;margin-top:2px}
.signature-mark{font:500 3.2rem/1 var(--display);color:#b18a53}
.signature-block p{font:italic 1.19rem/1.65 var(--display);color:#33465d;margin-top:2px}
.editorial-link{display:inline-flex;align-items:center;gap:27px;border-bottom:1px solid #a57b45;padding:0 0 8px;color:#142945;font-size:.85rem;font-weight:750;line-height:1.3;white-space:nowrap}
.editorial-link:hover{color:#967039}
.editorial-link span{font-size:1.06rem;font-weight:400}
.section-title-row{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:45px}
.section-title-row h2{max-width:760px;margin-bottom:0}
.section-title-row .eyebrow{margin-bottom:16px}
.section-title-row>.editorial-link{margin-bottom:8px;flex-shrink:0}
.expertise-editorial-grid{display:grid;grid-template-columns:.42fr 1fr;gap:9%;border-top:1px solid var(--line)}
.expertise-intro{padding-top:42px;display:flex;flex-direction:column;justify-content:space-between;min-height:335px}
.expertise-symbol{font:500 5rem/1 var(--display);color:#b59160}
.expertise-intro p{font-size:.95rem;color:#6a7789;line-height:1.8;max-width:290px}
.expertise-editorial-item{display:grid;grid-template-columns:42px 1fr 20px;gap:18px;padding:29px 0;border-bottom:1px solid var(--line)}
.item-counter{font:700 .78rem/1.7 var(--ui);color:#af8a56}
.expertise-editorial-item h3{font:500 1.62rem/1.25 var(--display);color:#1d314d;margin:0 0 8px}
.expertise-editorial-item p{font-size:.9rem;color:#647183;line-height:1.76;margin:0}
.item-arrow{font-size:1.12rem;color:#a47b43}
.role-ticker{border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px 0;margin-top:44px}
.role-ticker span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#7e6e58;font-weight:700;padding:21px 20px 0 0;margin-right:20px;position:relative}
.role-ticker span:not(:last-child):after{content:"•";position:absolute;right:0;color:#b8935c}
.research-editorial-list{border-top:1px solid var(--line)}
.research-editorial-item{display:grid;grid-template-columns:80px 1fr 220px;gap:35px;padding:37px 0;border-bottom:1px solid var(--line);align-items:start;transition:padding .2s}
.research-editorial-item:hover{padding-left:12px}
.research-no{font:500 1.6rem/1 var(--display);color:#b29367}
.research-tags{display:flex;gap:10px;color:#917344;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:13px}
.research-tags span+span:before{content:"/";color:#b8b0a4;margin-right:10px}
.research-core h3{font:500 clamp(1.6rem,2.45vw,2.2rem)/1.22 var(--display);color:#162d4b;margin-bottom:11px}
.research-core p{color:#6b7788;line-height:1.75;font-size:.92rem;margin:0;max-width:730px}
.research-end{display:flex;flex-direction:column;align-items:end;gap:24px;text-align:right;color:#788394;font-size:.74rem;padding-top:20px}
.research-end a,.research-decor{font-size:1.3rem;color:#956b36}
.editorial-publication-layout{display:grid;grid-template-columns:.68fr 1fr;gap:11%}
.publication-heading{position:sticky;top:130px;align-self:start}
.publication-heading h2{margin-bottom:18px}
.publication-heading>p:not(.eyebrow){color:#687486;line-height:1.82;max-width:350px;margin-bottom:30px}
.publication-editorial-list{border-top:1px solid var(--line)}
.pub-editorial-entry{padding:30px 0;border-bottom:1px solid var(--line)}
.pub-editorial-entry .pub-meta{margin-bottom:12px}
.pub-editorial-entry .pub-meta span{background:none;padding:0;color:#8e7149;border-radius:0;letter-spacing:.08em;text-transform:uppercase;font-size:.7rem}
.pub-editorial-entry .pub-meta span+span:before{content:"/";margin:0 12px;color:#b7ad9d}
.pub-editorial-entry h3{font:500 clamp(1.32rem,2vw,1.82rem)/1.32 var(--display);color:#1d3553;margin-bottom:12px}
.pub-editorial-entry h3 a:hover{color:#96713f}
.pub-editorial-entry p{color:#718091;font-size:.83rem;line-height:1.65;margin-bottom:12px}
.pub-editorial-links{display:flex;gap:24px;flex-wrap:wrap}
.pub-editorial-links a{color:#987441;font-size:.77rem;font-weight:750}
.editorial-journal{background:#fff}
.journal-editorial-grid{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:30px;border-top:1px solid var(--line);padding-top:30px;align-items:stretch}
.journal-editorial-item{padding:13px 21px 12px 0;border-right:1px solid var(--line)}
.journal-meta{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;color:#9c7744;font-size:.7rem;letter-spacing:.04em;font-weight:760;margin-bottom:21px}
.journal-editorial-item h3{font:500 1.55rem/1.3 var(--display);color:#233951;margin-bottom:16px}
.journal-editorial-item p{color:#6c7889;font-size:.88rem;line-height:1.8}
.journal-visual{position:relative;min-height:280px;background:#e1ded5;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:20px}
.journal-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.63)}
.journal-visual>*:not(img){position:relative;z-index:1;color:white}
.journal-visual-label{font-size:.68rem;font-weight:780;letter-spacing:.12em}
.journal-visual>a{display:flex;justify-content:space-between;align-items:center;font-size:.86rem;font-weight:760;border-top:1px solid #ffffff7a;padding-top:13px}
.editorial-cta{background:#112741;position:relative;overflow:hidden}
.editorial-cta:after{content:"✳";position:absolute;right:-70px;bottom:-175px;font:400 540px/1 var(--display);color:rgba(255,255,255,.035);pointer-events:none}
.editorial-cta-grid{display:grid;grid-template-columns:1fr .42fr;gap:12%;align-items:end;position:relative;z-index:1}
.editorial-cta h2{font:500 clamp(2.8rem,5vw,5.3rem)/1.12 var(--display);max-width:800px;color:#fff}
.editorial-cta-side p{color:#c8d1dd;font-size:1rem;line-height:1.85}
.editorial-cta-side .btn{margin-top:17px;display:inline-flex}
.cta-cv-link{display:block;color:#edd5af;font-size:.82rem;margin-top:20px}
/* Interior pages — differentiated editorial presentation */
.page-hero{padding:91px 0 79px;background:#f3f0e9;border-bottom:1px solid var(--line)}
.page-hero:after{width:410px;height:410px;right:1%;top:14%;background:none;border:1px solid rgba(162,130,79,.12);border-radius:50%}
.page-hero .container{position:relative;z-index:1}
.page-hero .eyebrow{margin-bottom:23px}
.page-hero h1{font-size:clamp(2.9rem,5.35vw,5.9rem);line-height:1.07;max-width:1100px;letter-spacing:-.047em;margin-bottom:22px}
.page-hero .lead{color:#6b7788;font-size:1.06rem;line-height:1.83;max-width:700px}
.page-hero-grid{grid-template-columns:1fr .42fr;gap:60px}
.mini-profile{border-radius:5px;border-left:3px solid #b88f50;box-shadow:none;padding:18px;background:rgba(255,255,255,.65)}
.mini-profile img{border-radius:4px;width:88px;height:88px}
.prose-grid{grid-template-columns:200px minmax(0,1fr);gap:7%}
.profile-sidebar{top:125px;border-left:1px solid var(--line);gap:0}
.sidebar-link{border-radius:0;padding:12px 18px;font-size:.84rem;border-left:2px solid transparent;margin-left:-1px}
.sidebar-link:hover{background:transparent;color:#aa7f44;border-left-color:#b28b51}
.profile-content{gap:0}
.content-block{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0 0 46px;margin:0 0 48px;background:transparent;box-shadow:none;scroll-margin-top:125px}
.content-block h2{font-size:clamp(2.05rem,3vw,3.3rem)}
.content-block>p{font-size:1.01rem;line-height:1.93;color:#657184}
.line-card{border-radius:4px;box-shadow:none;border:1px solid var(--line);padding:25px}
.line-card h3{font:500 1.4rem/1.35 var(--display)}
.timeline-card{border-radius:4px;box-shadow:none;border:1px solid var(--line)}
.timeline-list article{background:transparent;border:none;border-bottom:1px solid var(--line);border-radius:0;padding:24px 0}
.timeline-list time{font-size:.88rem}
.focus-pills span,.pub-meta span{border-radius:4px}
.filter-bar{margin-bottom:30px;background:#f3f1ed;border:1px solid var(--line);padding:14px 18px;gap:22px}
.filter-bar input{border:0;border-radius:0;background:transparent;box-shadow:none;padding:0 8px;min-height:42px;font-size:.95rem;color:#14253f}
.filter-bar input:focus{outline:0;border-bottom:1px solid #bc9358}
.filter-bar span{font-size:.82rem;color:#7b8490}
.publication-row,.feature-row,.news-row{border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;padding:29px 0;background:transparent;grid-template-columns:125px 1fr;gap:35px}
.publication-row:first-child,.feature-row:first-child,.news-row:first-child{border-top:1px solid var(--line)}
.publication-row h2,.feature-row h2,.news-row h2{font:500 clamp(1.65rem,2.4vw,2.45rem)/1.24 var(--display);margin-bottom:14px}
.pub-year,.feature-year{font:500 1.6rem/1.3 var(--display);color:#ac8550}
.publication-row p,.feature-row p,.news-row p{font-size:.92rem;line-height:1.8;max-width:820px}
.publication-row .authors{font-weight:700;font-size:.83rem}
.pub-actions a{border-radius:4px!important;background:transparent!important;padding:7px 10px!important;font-size:.78rem}
.pub-actions a:hover{background:#12263f!important;color:#fff!important}
.media-grid{grid-template-columns:repeat(2,1fr);gap:0 30px;border-top:1px solid var(--line)}
.media-card{border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;padding:35px 20px 35px 0;background:transparent}
.media-card h2{font:500 2rem/1.2 var(--display)}
.media-card p{font-size:.91rem;line-height:1.8}
.gallery-grid.full-gallery{grid-template-columns:repeat(3,1fr);gap:19px}
.full-gallery .gallery-card{border:0;border-radius:3px;box-shadow:none;background:transparent}
.full-gallery .gallery-card:first-child{grid-column:span 2;grid-row:span 2}
.full-gallery .gallery-card img{aspect-ratio:4/3;border-radius:3px}
.full-gallery .gallery-card:first-child img{height:calc(100% - 95px);min-height:410px;aspect-ratio:auto}
.full-gallery .gallery-card figcaption{padding:14px 0 26px}
.full-gallery .gallery-card figcaption strong{font:500 1.18rem/1.35 var(--display)}
.contact-card{border-radius:4px;box-shadow:none}
.contact-card a,.contact-card span{border-radius:3px}
.contact-panel{border-radius:4px;box-shadow:none}
.contact-panel h2{font-family:var(--display);font-weight:500}
.profile-links a{border-radius:3px}
/* Footer: minimal columns rather than nested cards */
.global-footer.editorial-footer{background:#0c1d32;padding:64px 0 22px;color:#fff}
.editorial-footer-top{display:grid;grid-template-columns:1fr .92fr;gap:7%}
.footer-introduction h2{font:500 clamp(2.15rem,3.1vw,3.35rem)/1.08 var(--display);margin:0 0 12px;color:white}
.footer-introduction>p:not(.eyebrow){color:#aebbc9;font-size:.9rem;max-width:420px;line-height:1.62}
.footer-plain-link{display:inline-flex;border-bottom:1px solid #ad8952;padding:6px 0;color:#efdfbf;font-size:.8rem;font-weight:700;margin-top:8px}
.footer-menus{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-top:4px}
.footer-menus h3{font:.74rem/1.35 var(--ui);color:#d2b486;text-transform:uppercase;letter-spacing:.14em;margin-bottom:14px}
.footer-nav-links{display:grid;grid-template-columns:1fr 1fr;gap:9px 16px;margin:0}
.footer-nav-links a,.footer-links a{padding:0;border:0;background:transparent;border-radius:0;box-shadow:none;color:#d4dfeb;font-size:.84rem;font-weight:500;line-height:1.35}
.footer-nav-links a:hover,.footer-links a:hover{background:transparent;color:#e6bd7e}
.footer-links{display:grid;gap:9px;margin:0}
.footer-bottom{border-top:1px solid #ffffff22;margin-top:48px;padding-top:18px;color:#9cabbc;font-size:.75rem}
.back-to-top{border-radius:8px;width:45px;height:45px;box-shadow:0 10px 30px #11223c33}
/* Dark mode compatible with dashboard's existing theme preference */
[data-theme="dark"] body{background:#0b1626;color:#d4dfeb}
[data-theme="dark"] .site-header.editorial-header{background:rgba(12,25,42,.97);border-bottom-color:#ffffff20}
[data-theme="dark"] .brand-text strong,[data-theme="dark"] .nav-menu>a:not(.nav-cta){color:#e6eef7}
[data-theme="dark"] .hero.editorial-hero{background:linear-gradient(105deg,#101f32 0%,#101f32 56%,#1e3044 56%,#1e3044 100%)}
[data-theme="dark"] .editorial-hero h1,[data-theme="dark"] .hero-message,[data-theme="dark"] .research-core h3,[data-theme="dark"] .pub-editorial-entry h3,[data-theme="dark"] .expertise-editorial-item h3,[data-theme="dark"] .journal-editorial-item h3,[data-theme="dark"] .editorial-link{color:#f0f4fa!important}
[data-theme="dark"] .editorial-hero .hero-description,[data-theme="dark"] .hero-affiliation,[data-theme="dark"] .editorial-intro-details>p,[data-theme="dark"] .expertise-editorial-item p,[data-theme="dark"] .research-core p,[data-theme="dark"] .publication-heading>p:not(.eyebrow),[data-theme="dark"] .pub-editorial-entry p,[data-theme="dark"] .journal-editorial-item p{color:#b0bccb}
[data-theme="dark"] .editorial-metrics{background:#14263d;border-color:#ffffff1b}
[data-theme="dark"] .editorial-metrics .metric-cell{background:transparent;border-color:#ffffff18}
[data-theme="dark"] .editorial-metrics strong{color:white}
[data-theme="dark"] .editorial-journal{background:#101e31}
[data-theme="dark"] .muted{background:#13243a}
[data-theme="dark"] .page-hero{background:#13243a;border-color:#ffffff1b}
[data-theme="dark"] .content-block,[data-theme="dark"] .publication-row,[data-theme="dark"] .feature-row,[data-theme="dark"] .news-row,[data-theme="dark"] .media-card{background:transparent;box-shadow:none;border-color:#ffffff20}
[data-theme="dark"] .filter-bar{background:#14283e;border-color:#ffffff25}
[data-theme="dark"] .filter-bar input{background:transparent;color:#fff}
[data-theme="dark"] .line-card{box-shadow:none}
[data-theme="dark"] .global-footer.editorial-footer{background:#07111e}
/* Responsive */
@media(max-width:1250px){.nav-toggle{display:flex;flex-shrink:0}.nav-menu{display:none;position:absolute;top:82px;left:44px;right:44px;background:#fff;border:1px solid var(--line);box-shadow:0 20px 60px #0c1d3230;z-index:20;padding:14px;border-radius:8px;flex-direction:column;align-items:stretch;gap:2px;max-height:calc(100dvh - 95px);overflow:auto}.nav-menu.is-open{display:flex}.nav-menu>a{font-size:.9rem;text-align:left;padding:11px 15px}.nav-menu>a:not(.nav-cta):after{bottom:2px}.nav-menu>.nav-cta{margin:9px 0 2px;justify-content:space-between}.theme-toggle{margin:8px 0 0;width:100%;height:43px}[data-theme="dark"] .nav-menu{background:#12263f;border-color:#ffffff25}}
@media(max-width:980px){.container{width:min(100% - 52px,1240px)}.section-pad{padding:76px 0}.editorial-hero{padding-top:14px;background:#faf8f3}.editorial-hero-grid{grid-template-columns:1fr .85fr;gap:2.5%;min-height:430px}.editorial-hero-copy{padding:38px 0 30px}.editorial-hero h1{font-size:clamp(3rem,6.7vw,5.3rem)}.visual-frame{min-height:420px}.editorial-intro-grid{grid-template-columns:130px 1fr;gap:4%}.expertise-editorial-grid{grid-template-columns:.45fr 1fr;gap:5%}.research-editorial-item{grid-template-columns:50px 1fr;gap:20px}.research-end{grid-column:2;display:flex;flex-direction:row;justify-content:space-between;padding:0;text-align:left}.editorial-publication-layout{grid-template-columns:.65fr 1fr;gap:7%}.journal-editorial-grid{grid-template-columns:1fr 1fr}.journal-visual{grid-column:span 2;min-height:260px}.editorial-cta-grid{grid-template-columns:1fr .5fr;gap:6%}.footer-menus{gap:18px}.page-hero-grid{grid-template-columns:1fr .65fr}.full-gallery .gallery-card:first-child{grid-column:span 2}.nav-menu{left:26px;right:26px}.footer-nav-links{grid-template-columns:1fr}}
@media(max-width:700px){.container{width:min(100% - 36px,1240px)}.nav-shell{min-height:72px;height:72px;padding:9px 0}.brand-logo{width:40px;height:40px}.brand-text strong{font-size:.8rem;max-width:205px}.brand-text em{font-size:.55rem}.nav-menu{top:68px;left:18px;right:18px}.section-pad{padding:62px 0}.small-top{padding-top:38px}.editorial-hero{background:#faf8f3;padding-top:0}.editorial-hero-grid{display:flex;flex-direction:column;gap:0}.editorial-hero-copy{padding:42px 0 28px}.editorial-hero h1{font-size:clamp(3rem,12.2vw,4.9rem)}.editorial-hero .hero-description{font-size:.88rem}.hero-copy-rule{margin:15px 0}.hero-actions{gap:9px}.hero-actions .btn{min-height:46px}.hero-affiliation{margin-top:18px}.editorial-visual{padding:0 10px 0 0;min-height:330px}.visual-frame{height:350px;min-height:0;max-height:none}.visual-accent{right:0;top:-13px;padding:12px 15px;font-size:.55rem}.editorial-metrics{grid-template-columns:repeat(2,1fr)}.editorial-metrics .metric-cell{min-height:100px;padding:20px 16px}.editorial-metrics .metric-cell:nth-child(2){border-right:0}.editorial-metrics .metric-cell:nth-child(-n+2){border-bottom:1px solid var(--line)}.editorial-metrics strong{font-size:2.15rem}.editorial-intro-grid{display:block}.editorial-section-rail{flex-direction:row;align-items:center;padding:0;margin-bottom:18px}.rail-line{width:85px;height:1px;background:#c9aa78}.editorial-intro h2{font-size:clamp(2.2rem,7.6vw,3.2rem)}.editorial-intro-details{grid-template-columns:1fr;gap:22px}.signature-block p{font-size:1.05rem}.section-title-row{display:block;margin-bottom:22px}.section-title-row h2{font-size:clamp(2.15rem,7.2vw,3.3rem)}.section-title-row>.editorial-link{margin-top:16px}.expertise-editorial-grid{grid-template-columns:1fr}.expertise-intro{min-height:0;padding:20px 0 12px;flex-direction:row;align-items:center;gap:15px}.expertise-intro p{max-width:270px;margin:0}.expertise-symbol{font-size:3rem}.expertise-editorial-item{padding:18px 0}.research-editorial-item{grid-template-columns:35px minmax(0,1fr);gap:12px;padding:22px 0}.research-no{font-size:1.3rem}.research-core h3{font-size:1.45rem}.research-end{grid-column:2}.editorial-publication-layout{grid-template-columns:1fr;gap:24px}.publication-heading{position:static}.publication-heading .btn{margin:5px 0 3px}.pub-editorial-entry{padding:19px 0}.journal-editorial-grid{grid-template-columns:1fr;gap:0}.journal-editorial-item{padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}.journal-visual{grid-column:auto;margin-top:22px}.editorial-cta-grid{grid-template-columns:1fr;gap:18px}.editorial-cta h2{font-size:clamp(2.5rem,8vw,3.7rem)}.editorial-cta-side p{font-size:.9rem}.page-hero{padding:54px 0}.page-hero h1{font-size:clamp(2.45rem,9.8vw,3.9rem)}.page-hero-grid{grid-template-columns:1fr;gap:18px}.mini-profile{max-width:100%}.prose-grid{display:block}.profile-sidebar{position:relative;top:auto;display:flex;flex-wrap:nowrap;overflow:auto;border-left:0;border-bottom:1px solid var(--line);gap:4px;margin-bottom:32px;padding-bottom:8px}.sidebar-link{white-space:nowrap;border-left:0;margin:0}.content-block{margin-bottom:30px;padding-bottom:30px}.publication-row,.feature-row,.news-row{grid-template-columns:1fr;gap:6px}.pub-year,.feature-year{font-size:1.15rem}.filter-bar{align-items:stretch;flex-direction:column;gap:4px}.filter-bar input{width:100%}.filter-bar span{padding:0 8px}.media-grid{grid-template-columns:1fr}.gallery-grid.full-gallery{grid-template-columns:repeat(2,1fr);gap:12px}.full-gallery .gallery-card:first-child{grid-column:span 2;grid-row:auto}.full-gallery .gallery-card:first-child img{height:auto;min-height:0;aspect-ratio:16/10}.full-gallery .gallery-card figcaption{padding:11px 0 18px}.editorial-footer-top{grid-template-columns:1fr;gap:22px}.footer-menus{grid-template-columns:1fr 1fr;gap:16px}.footer-bottom{margin-top:40px}.global-footer.editorial-footer{padding:52px 0 20px}}
@media(max-width:420px){.brand-text strong{max-width:172px}.brand-text em{letter-spacing:.1em}.editorial-hero h1{font-size:3.2rem}.hero-actions .btn{padding:0 15px;font-size:.78rem}.expertise-editorial-item{grid-template-columns:29px 1fr 15px;gap:10px}.footer-menus{grid-template-columns:1fr 1fr}.full-gallery .gallery-card figcaption strong{font-size:1rem}.editorial-metrics .metric-cell{padding:22px 14px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}.research-editorial-item:hover{padding-left:0}.visual-frame img{filter:none}}
/* Publication filters and gallery dialog */
.filter-bar select{flex:0 0 168px;width:168px;min-height:44px;background:#fff;color:#233750;border:1px solid var(--line);border-radius:3px;padding:0 12px;font:700 .82rem var(--ui)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[data-publication-list] [hidden],.empty-results[hidden]{display:none!important}
.empty-results{padding:46px 18px;text-align:center;color:#67778a;font-size:.99rem;background:#f4f1ec}
.portfolio-lightbox{max-width:min(92vw,1100px);max-height:90dvh;border:0;border-radius:5px;padding:15px;background:#fff;box-shadow:0 40px 110px #0009;color:#24344a}
.portfolio-lightbox::backdrop{background:rgba(8,20,36,.84);backdrop-filter:blur(6px)}
.portfolio-lightbox img{max-height:calc(88dvh - 110px);width:auto;margin:auto;object-fit:contain}
.portfolio-lightbox p{margin:9px 6px 0;color:#53657c;font-size:.85rem}
.lightbox-close{display:block;margin:0 0 8px auto;border:0;background:#132c4b;color:white;padding:8px 16px;border-radius:3px;font:700 .82rem var(--ui);cursor:pointer}
[data-theme="dark"] .filter-bar select{background:#172e4a;color:#fff;border-color:#ffffff30}
@media(max-width:700px){.filter-bar select{width:100%;flex:auto}.portfolio-lightbox{padding:9px;max-width:95vw}}


/* ==== site-v127.css ==== */
/* v12.7 — public-only visual refinement. Layered after site-v126.css. */
:root{--premium-ink:#10243c;--premium-amber:#a87c42;--premium-line:rgba(20,40,65,.15);--premium-ease:cubic-bezier(.22,1,.36,1)}
html{scroll-padding-top:112px}
.portfolio-page{overflow-x:clip}
.portfolio-page main{min-width:0}
.portfolio-page .page-hero{position:relative;isolation:isolate;overflow:hidden;padding-block:99px 93px;background:linear-gradient(110deg,#f3f0e9 0%,#faf8f4 100%)}
.portfolio-page .page-hero::before{position:absolute;inset:auto 1.2% -54px auto;z-index:-1;font:400 clamp(11rem,27vw,26rem)/.7 Georgia,serif;letter-spacing:-.11em;color:rgba(153,118,71,.07);pointer-events:none}
.page-profile .page-hero::before{content:"01"}.page-publications .page-hero::before{content:"02"}.page-projects .page-hero::before{content:"03"}.page-news .page-hero::before{content:"04"}.page-media .page-hero::before{content:"05"}.page-gallery .page-hero::before{content:"06"}.page-contact .page-hero::before{content:"07"}
.portfolio-page .page-hero .eyebrow{display:flex;align-items:center;gap:14px;letter-spacing:.175em;margin-bottom:23px}
.portfolio-page .page-hero .eyebrow::before{content:"";display:block;width:38px;height:1px;background:var(--premium-amber);flex:0 0 auto}
.portfolio-page .page-hero h1{font-size:clamp(3rem,5.1vw,5.9rem);max-width:1100px;text-wrap:balance}
.portfolio-page .page-hero .lead{max-width:670px;font-size:1.04rem;color:#69778a}
.portfolio-page .page-hero .container{position:relative;z-index:1}
.portfolio-page .page-hero .container.narrow{max-width:1240px}
.portfolio-page .section-pad.small-top{padding-top:78px}
.portfolio-page .content-block h2{max-width:860px;text-wrap:balance}
.portfolio-page :is(.publication-row,.feature-row,.news-row,.media-card){transition:background .22s ease, padding-left .3s var(--premium-ease),border-color .2s ease}
.portfolio-page :is(.publication-row,.feature-row,.news-row):hover{padding-left:17px;background:linear-gradient(90deg,rgba(183,147,91,.065),transparent 65%)}
.portfolio-page :is(.publication-row,.feature-row,.news-row) h2 a,.portfolio-page .media-card h2 a{transition:color .2s ease}
.portfolio-page :is(.publication-row,.feature-row,.news-row) h2 a:hover,.portfolio-page .media-card h2 a:hover{color:#976f39}
.portfolio-page .publication-list,.portfolio-page .feature-list,.portfolio-page .news-list{gap:0}
.portfolio-page .publication-row,.portfolio-page .feature-row,.portfolio-page .news-row{grid-template-columns:minmax(95px,125px) minmax(0,1fr);padding-block:36px;gap:38px}
.portfolio-page .publication-row .pub-year{font-size:1.45rem}
.portfolio-page .publication-row .pub-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:13px}
.portfolio-page .publication-row .pub-meta span{font-size:.72rem;letter-spacing:.02em}
.portfolio-page .publication-row h2{max-width:950px;text-wrap:pretty}
.portfolio-page .publication-row .authors{font-size:.87rem;max-width:800px}
.portfolio-page .publication-row .pub-actions{gap:10px}
.portfolio-page .publication-row .pub-actions .text-link{background:#f1e9dd!important;border:1px solid #ddcfb7!important;padding:8px 14px!important;color:#5c4429!important;min-height:38px}
.portfolio-page .publication-row .pub-actions .text-link:hover{background:#20364f!important;color:#fff!important;border-color:#20364f!important}
/* Compact, flexible filter controls; do not allow controls to overlap their counters. */
.portfolio-page .filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:13px 17px;max-width:100%;border-radius:6px}
.portfolio-page .filter-bar input[type="search"]{flex:1 1 260px;min-width:170px;border:0;border-bottom:1px solid transparent;outline-offset:1px}
.portfolio-page .filter-bar select{flex:0 1 auto;min-width:142px;width:auto;max-width:210px;border-radius:5px;cursor:pointer}
.portfolio-page .filter-bar>span{margin-left:auto;white-space:nowrap;font-size:.81rem;font-weight:700;color:#617083;padding-inline:10px}
.portfolio-page .empty-results{border:1px dashed #c7bba7;border-radius:6px;margin-top:20px}
.page-projects .feature-row{grid-template-columns:130px minmax(0,1fr);gap:45px}
.page-projects .feature-year{font:500 1.48rem/1.25 Georgia,serif;color:#987242;padding-top:4px}
.page-projects .feature-row .pub-meta{margin-bottom:14px}
.page-projects .feature-row p strong{color:#30455e}
.page-news .news-row{grid-template-columns:130px minmax(0,1fr)}
.page-news .news-row>time{font-size:.88rem;letter-spacing:.025em;color:#92734a;padding-top:7px}
.page-news .news-row>div>span{background:transparent;border:1px solid #d6c7ae;color:#977245;border-radius:4px;letter-spacing:.03em}
.page-media .media-grid{border:0;gap:22px 38px;grid-template-columns:repeat(2,minmax(0,1fr))}
.page-media .media-card{border:1px solid rgba(20,40,65,.13);border-top:3px solid #b89866;padding:35px 32px 33px;border-radius:5px;background:#fff;min-height:285px;transition:border-color .2s,transform .28s var(--premium-ease)}
.page-media .media-card:hover{transform:translateY(-4px);border-color:#b89866}
.page-media .media-card h2{font-size:clamp(1.6rem,2.3vw,2.12rem);text-wrap:balance}
.page-media .media-card .pub-meta{margin-bottom:20px}
.page-gallery .gallery-grid.full-gallery{gap:20px}
.page-gallery .gallery-card>a{display:block;position:relative;overflow:hidden;cursor:zoom-in;background:#e5e8ea}
.page-gallery .gallery-card>a::after{content:"Lihat foto ↗";position:absolute;right:14px;bottom:14px;background:rgba(10,27,47,.82);color:#fff;border:1px solid #ffffff40;font-size:.75rem;letter-spacing:.02em;padding:8px 13px;border-radius:4px;opacity:0;transform:translateY(8px);transition:opacity .23s,transform .23s;pointer-events:none}
.page-gallery .gallery-card>a:hover::after,.page-gallery .gallery-card>a:focus-visible::after{opacity:1;transform:translateY(0)}
.page-gallery .gallery-card img{transition:transform .6s var(--premium-ease)}
.page-gallery .gallery-card:hover img{transform:scale(1.035)}
.page-gallery .gallery-card figcaption span{line-height:1.6}
.page-profile .prose-grid{align-items:start}
.page-profile .profile-sidebar{background:#f5f2ed;padding:14px 12px;border:1px solid rgba(20,40,65,.08);border-left:2px solid #b99155;border-radius:4px}
.page-profile .profile-sidebar .sidebar-link{padding-block:11px;padding-inline:14px}
.page-profile .timeline-list article{padding-block:25px}
.page-contact .contact-card{border:1px solid #e0d6c5;border-top:3px solid #b88f50;background:#fff}
.page-contact .contact-panel{background:#10263f;color:#fff;border:0}
.page-contact .contact-panel h2{color:#fff}
.page-contact .contact-panel .profile-links a{color:#e8edf4}
.page-contact .service-grid{gap:15px}
.page-contact .service-grid .line-card{border-radius:4px;transition:border-color .2s}
.page-contact .service-grid .line-card:hover{border-color:#b89359}
/* Low-cost microinteractions: transforms only and never animate the layout's height. */
@media (hover:hover) and (prefers-reduced-motion:no-preference){
 .portfolio-page .editorial-visual .visual-frame img{transition:transform .8s var(--premium-ease),filter .8s}
 .portfolio-page .editorial-visual:hover .visual-frame img{transform:scale(1.018);filter:saturate(.95)}
 .portfolio-page .editorial-link span{transition:transform .2s ease}
 .portfolio-page .editorial-link:hover span{transform:translate(3px,-2px)}
 .portfolio-page .btn{transition:transform .23s var(--premium-ease), background .2s ease,border-color .2s ease}
}
/* Lightbox with integrated counter and previous/next controls. */
.portfolio-lightbox-v127{padding:15px 18px 18px;max-width:min(95vw,1130px);background:#fdfbf8}
.portfolio-lightbox-v127 .lightbox-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px}
.portfolio-lightbox-v127 .lightbox-controls{display:flex;align-items:center;gap:7px}
.portfolio-lightbox-v127 .lightbox-count{font-weight:800;font-size:.77rem;color:#607083;letter-spacing:.1em}
.portfolio-lightbox-v127 .lightbox-step{display:inline-grid;place-items:center;border:1px solid #d7dee5;color:#19314e;background:#fff;min-width:40px;min-height:40px;border-radius:4px;cursor:pointer;font-size:1.15rem}
.portfolio-lightbox-v127 .lightbox-step:hover{background:#f0ebdf;border-color:#b49a6d}
.portfolio-lightbox-v127 .lightbox-step:disabled{opacity:.4;cursor:not-allowed}
.portfolio-lightbox-v127 .lightbox-close{margin:0;min-height:40px}
.portfolio-lightbox-v127>img{max-height:calc(88dvh - 135px);max-width:100%;margin-inline:auto}
.portfolio-lightbox-v127>p{margin-top:14px;max-width:70ch;font-size:.88rem}
/* Dark-theme contrast for every new surface */
[data-theme="dark"] .portfolio-page .page-hero{background:linear-gradient(115deg,#102038,#192c44)}
[data-theme="dark"] .portfolio-page .page-hero::before{color:rgba(255,255,255,.035)}
[data-theme="dark"] .portfolio-page .page-hero .lead{color:#b6c2d0}
[data-theme="dark"] .portfolio-page :is(.publication-row,.feature-row,.news-row):hover{background:linear-gradient(90deg,rgba(183,147,91,.1),transparent 70%)}
[data-theme="dark"] .page-media .media-card{background:#14263e;border-color:#ffffff25}
[data-theme="dark"] .page-profile .profile-sidebar{background:#172a42;border-color:#ffffff28}
[data-theme="dark"] .page-contact .contact-card{background:#172a42;border-color:#ffffff28}
[data-theme="dark"] .page-contact .contact-panel{background:#0f2037}
[data-theme="dark"] .portfolio-page .publication-row .pub-actions .text-link{background:#233b55!important;color:#f6dcad!important;border-color:#41516a!important}
[data-theme="dark"] .portfolio-page .publication-row .pub-actions .text-link:hover{background:#aa8350!important;color:#0b1726!important}
[data-theme="dark"] .page-news .news-row>div>span{border-color:#ffffff24;color:#e0c394}
[data-theme="dark"] .portfolio-page .empty-results{background:#13253b;color:#b9c9d8;border-color:#ffffff35}
@media(max-width:980px){.portfolio-page .page-hero{padding-block:75px}.page-media .media-grid{gap:18px}.page-projects .feature-row,.page-news .news-row{grid-template-columns:105px minmax(0,1fr);gap:25px}.portfolio-page .filter-bar>span{margin-left:0}.page-profile .profile-sidebar{padding:6px;border:0;border-bottom:1px solid var(--premium-line);background:transparent}}
@media(max-width:700px){.portfolio-page .page-hero{padding-block:66px 58px}.portfolio-page .page-hero h1{font-size:clamp(2.7rem,10vw,4.2rem)}.portfolio-page .page-hero::before{font-size:48vw;bottom:8px;right:6%}.portfolio-page .section-pad.small-top{padding-top:47px}.portfolio-page .filter-bar{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.portfolio-page .filter-bar input[type="search"]{flex:none;width:100%;min-width:0}.portfolio-page .filter-bar select{flex:none;min-width:0;width:100%;max-width:none}.portfolio-page .filter-bar>span{padding:0 6px}.portfolio-page .publication-row,.portfolio-page .feature-row,.portfolio-page .news-row,.page-projects .feature-row,.page-news .news-row{grid-template-columns:minmax(0,1fr);gap:7px;padding-block:26px}.portfolio-page :is(.publication-row,.feature-row,.news-row):hover{padding-left:0}.page-media .media-grid{grid-template-columns:1fr}.page-media .media-card{padding:26px 23px;min-height:0}.page-gallery .gallery-card>a::after{opacity:1;transform:none}.page-profile .profile-sidebar{display:flex;gap:3px;overflow-x:auto;white-space:nowrap;padding:0 0 8px;border:0;border-bottom:1px solid #d5caba}.portfolio-lightbox-v127{padding:10px}.portfolio-lightbox-v127 .lightbox-step{min-width:36px;min-height:36px}.portfolio-lightbox-v127 .lightbox-close{min-height:36px}}
@media(prefers-reduced-motion:reduce){.portfolio-page :is(.btn,.editorial-link span,.media-card,.gallery-card img,.visual-frame img){transition:none!important;transform:none!important}.portfolio-page :is(.publication-row,.feature-row,.news-row):hover{padding-left:0}}


/* ==== site-v128.css ==== */
/* v12.8 — Academic Portfolio Experience | detail pages only. */
.detail-page{background:var(--paper,#fbfaf7);min-height:60vh}
.detail-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line,rgba(20,40,65,.15));background:linear-gradient(110deg,#f4f1eb,#faf8f4)}
.detail-hero::after{position:absolute;content:"";width:33vw;height:33vw;min-height:260px;min-width:260px;max-width:670px;max-height:670px;right:-14vw;top:-16vw;border:1px solid rgba(145,112,64,.13);border-radius:50%;pointer-events:none}
.detail-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:32px 0;color:#6c7988;font-size:.76rem;letter-spacing:.01em}
.detail-breadcrumb a{color:#455874;text-decoration:none}.detail-breadcrumb a:hover{text-decoration:underline}
.detail-breadcrumb span[aria-hidden]{color:#bb9e74}
.detail-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 215px;gap:7%;padding:65px 0 98px;align-items:end}
.detail-hero .eyebrow{margin-bottom:26px;color:#9d7642}
.detail-hero h1{font:500 clamp(2.6rem,4.65vw,5.5rem)/1.12 var(--display,Georgia,serif);letter-spacing:-.047em;color:#142943;max-width:1030px;text-wrap:balance;overflow-wrap:break-word;margin:0 0 28px}
.detail-authors{font-size:1.01rem;line-height:1.85;color:#4d5d70;max-width:900px;margin:0 0 12px}
.detail-venue{font-size:.9rem;line-height:1.7;font-style:italic;color:#6b7480;max-width:850px;margin:0}
.detail-kickers{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:23px}
.detail-kickers span{display:inline-flex;padding:7px 12px;border:1px solid #d7c8b1;color:#896633;background:rgba(255,255,255,.5);font-size:.77rem;font-weight:750;border-radius:3px}
.detail-hero-index{display:flex;flex-direction:column;align-items:start;gap:19px;border-left:1px solid #c7b9a5;padding:0 0 0 30px;color:#927653}
.detail-hero-index span{font-size:.68rem;letter-spacing:.13em;font-weight:750}
.detail-hero-index strong{font:400 clamp(5.5rem,9vw,9.3rem)/.8 Georgia,serif;letter-spacing:-.1em;color:#c5aa83}
.detail-hero-index i{display:block;width:100%;max-width:136px;height:1px;background:#c2ad88}
.detail-content-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(285px,.82fr);align-items:start;gap:9%;padding-block:85px 110px}
.detail-section{padding:0 0 62px;margin:0 0 60px;border-bottom:1px solid var(--line,rgba(20,40,65,.15))}
.detail-section:last-child{border-bottom:0;margin-bottom:0}
.detail-section-number{font-size:.72rem;font-weight:800;letter-spacing:.14em;color:#a67f48;margin:0 0 19px}
.detail-section h2{font:500 clamp(2.05rem,3vw,3.3rem)/1.16 var(--display,Georgia,serif);letter-spacing:-.045em;margin:0 0 24px;color:#182d48}
.detail-summary{font-size:1.075rem;line-height:1.95;color:#4c6076;max-width:780px;overflow-wrap:anywhere}
.detail-placeholder{font-style:italic;color:#708093}
.detail-note{font-size:.84rem;line-height:1.75;color:#7a8593;max-width:680px}
.detail-aside{position:sticky;top:112px}
.detail-aside-card{border:1px solid #d7cec1;border-top:3px solid #b18b55;background:#fff;padding:32px 29px 30px}
.detail-aside-label{font-weight:800;font-size:.72rem;letter-spacing:.15em;color:#9e7a45;margin:0 0 15px}
.detail-info-row{padding:18px 0;border-bottom:1px solid #eae6df;display:flex;flex-direction:column;gap:6px}
.detail-info-row span{color:#758292;font-size:.77rem;font-weight:700}
.detail-info-row strong{font-size:.91rem;font-weight:660;line-height:1.6;color:#243c59;overflow-wrap:anywhere}
.detail-info-row .detail-doi{font-size:.79rem}
.detail-action-primary,.detail-action-secondary{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 17px;border-radius:4px;font-size:.83rem;line-height:1.4;font-weight:750;text-decoration:none}
.detail-action-primary{background:#182e49;color:#fff}
.detail-action-primary:hover{background:#34526e;color:#fff}
.detail-action-secondary{background:#f3eee5;border:1px solid #e1d3c0;color:#5a472f;margin-top:10px}
.detail-action-secondary:hover{background:#e7dbcb;color:#263447}
.detail-back{display:inline-flex;align-items:center;min-height:44px;margin-top:19px;color:#6a593f;font-weight:750;font-size:.86rem}
.detail-back:hover{color:#163856}
.detail-citation{border-left:3px solid #ac8852;background:#f2ede5;padding:26px 28px;overflow-wrap:anywhere}
.detail-citation>p{font-size:.92rem;line-height:1.9;color:#384c62;margin:0 0 23px}
.detail-copy-button{background:#fff;border:1px solid #c9bda9;border-radius:4px;padding:10px 16px;font-size:.81rem;font-weight:760;color:#283d57;cursor:pointer;text-align:left}
.detail-copy-button:hover{background:#172d49;border-color:#172d49;color:#fff}
.detail-related-list{border-top:1px solid #d8d0c2}
.detail-related-item{display:grid;grid-template-columns:85px minmax(0,1fr) 18px;gap:18px;padding:22px 0;border-bottom:1px solid #d8d0c2;color:#223951;align-items:start;text-decoration:none}
.detail-related-item:hover{color:#9b7139;background:rgba(177,139,85,.055)}
.detail-related-item span{color:#9c7849;font-size:.78rem;font-weight:700;padding-top:4px}
.detail-related-item strong{font:500 1.2rem/1.45 var(--display,Georgia,serif);overflow-wrap:anywhere}
.detail-related-item b{font-size:1rem;font-weight:500}
/* Preserve normal listing behavior, but make the internal detail action legible. */
.page-publications .publication-row .pub-actions{flex-wrap:wrap}
@media(max-width:950px){.detail-hero-grid{grid-template-columns:minmax(0,1fr) 135px;gap:3%}.detail-hero-index{padding-left:17px}.detail-content-layout{grid-template-columns:minmax(0,1fr) 285px;gap:5%}}
@media(max-width:760px){.detail-breadcrumb{padding:19px 0;font-size:.72rem}.detail-hero-grid{display:block;padding:43px 0 66px}.detail-hero-index{display:none}.detail-hero h1{font-size:clamp(2.25rem,9.3vw,3.6rem)}.detail-authors{font-size:.9rem}.detail-content-layout{display:flex;flex-direction:column;gap:24px;padding-block:46px 70px}.detail-article-main{min-width:0;width:100%}.detail-aside{position:static;width:100%;order:-1}.detail-aside-card{padding:24px}.detail-section{padding-bottom:35px;margin-bottom:39px}.detail-summary{font-size:.97rem}.detail-citation{padding:21px 18px}.detail-related-item{grid-template-columns:65px minmax(0,1fr) 12px;gap:10px}}
[data-theme="dark"] .detail-page{background:#101e31}
[data-theme="dark"] .detail-hero{background:linear-gradient(120deg,#14273e,#1b2c43);border-color:#34455b}
[data-theme="dark"] .detail-hero h1,[data-theme="dark"] .detail-section h2{color:#f3f1eb}
[data-theme="dark"] .detail-breadcrumb,[data-theme="dark"] .detail-breadcrumb a,[data-theme="dark"] .detail-authors,[data-theme="dark"] .detail-venue,[data-theme="dark"] .detail-summary{color:#c0cbd9}
[data-theme="dark"] .detail-kickers span{color:#e5cc9f;border-color:#725e49;background:#2a3c53}
[data-theme="dark"] .detail-aside-card{background:#1b2d44;border-color:#42526b;border-top-color:#a88a5d}
[data-theme="dark"] .detail-info-row{border-color:#364963}
[data-theme="dark"] .detail-info-row span,[data-theme="dark"] .detail-note{color:#aab8cb}
[data-theme="dark"] .detail-info-row strong,[data-theme="dark"] .detail-related-item{color:#e1eaf4}
[data-theme="dark"] .detail-related-item{border-color:#37475a}
[data-theme="dark"] .detail-action-secondary{background:#25374d;color:#efddbf;border-color:#53647b}
[data-theme="dark"] .detail-back{color:#d9c19b}
[data-theme="dark"] .detail-citation{background:#23364d}
[data-theme="dark"] .detail-citation>p{color:#e2e8f1}
[data-theme="dark"] .detail-copy-button{background:#192b44;border-color:#6d7580;color:#e6edf5}
[data-theme="dark"] .detail-related-item:hover{color:#e4c99b}
@media(prefers-reduced-motion:reduce){.detail-page *, .detail-page *::before,.detail-page *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* ==== site-v129.css ==== */
/* Portofolio v12.9 — Academic Identity & Content Enhancement
   Public profile only. This file does not affect Ruang Kelola. */
.page-profile .academic-hero{position:relative;overflow:hidden;background:linear-gradient(119deg,#f7f4ee 0%,#f5f0e8 55%,#e9eef0 100%);border-bottom:1px solid #e4d9c8}
.page-profile .academic-hero::before{content:"PROFILE";position:absolute;right:-.02em;bottom:-.22em;font:400 clamp(6rem,22vw,24rem)/1 Georgia,serif;letter-spacing:-.09em;color:rgba(32,52,72,.028);pointer-events:none}
.page-profile .academic-hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(280px,.7fr);gap:clamp(45px,8vw,122px);align-items:center;padding-block:clamp(74px,9vw,130px);min-height:595px}
.page-profile .academic-hero-copy{min-width:0}
.page-profile .academic-hero-copy .eyebrow{color:#987240;letter-spacing:.21em;margin-bottom:27px}
.page-profile .academic-hero h1{font:500 clamp(3.35rem,5.6vw,6.8rem)/.99 Georgia,'Times New Roman',serif;letter-spacing:-.058em;color:#132b45;max-width:900px;margin:0 0 22px;overflow-wrap:break-word}
.page-profile .academic-role{font-weight:730;font-size:clamp(1rem,1.5vw,1.18rem);letter-spacing:.012em;color:#866841;margin-bottom:28px}
.page-profile .academic-introduction{font-size:clamp(.99rem,1.35vw,1.12rem);color:#526579;line-height:1.9;max-width:650px;margin-bottom:27px}
.page-profile .academic-introduction:empty{display:none}
.page-profile .academic-identity-meta{display:flex;flex-wrap:wrap;gap:20px 37px;margin:22px 0 31px;padding-top:21px;border-top:1px solid #d8cfc2}
.page-profile .academic-identity-meta span{display:grid;gap:5px;font-size:.89rem;font-weight:630;color:#31445a}
.page-profile .academic-identity-meta b{font-size:.67rem;font-weight:820;color:#877151;text-transform:uppercase;letter-spacing:.14em}
.page-profile .academic-hero-actions{display:flex;align-items:center;gap:14px 28px;flex-wrap:wrap}
.page-profile .academic-primary-link{min-height:47px;display:inline-flex;align-items:center;gap:28px;justify-content:space-between;background:#152e4a;color:white;padding:12px 20px;font-size:.85rem;font-weight:770;border-radius:3px}
.page-profile .academic-primary-link:hover{color:white;background:#2b4b6b}
.page-profile .academic-inline-link{font-size:.84rem;font-weight:770;color:#2c4765;text-decoration:underline;text-underline-offset:5px}
.page-profile .academic-portrait{margin:0;position:relative;padding:14px 14px 0;background:#d8d1c5;box-shadow:30px 30px 0 rgba(38,55,72,.045)}
.page-profile .academic-portrait::before{content:"";position:absolute;top:-17px;right:-17px;width:85px;height:85px;border-top:1px solid #b78f55;border-right:1px solid #b78f55;pointer-events:none}
.page-profile .academic-portrait img{width:100%;aspect-ratio:4/4.7;object-fit:cover;object-position:center 22%;background:#d7d8d8;max-height:560px}
.page-profile .academic-portrait figcaption{font-size:.69rem;letter-spacing:.13em;text-transform:uppercase;color:#45596a;padding:16px 8px;font-weight:750;text-align:center}
.page-profile .academic-directory{background:#172e49;color:#fff;border-bottom:1px solid #314760}
.page-profile .academic-directory-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:20px}
.page-profile .academic-directory-title{font-size:.66rem;letter-spacing:.16em;font-weight:790;color:#dab985;flex:0 0 auto;margin:0}
.page-profile .academic-directory-title span{color:#77879c;padding-inline:4px}
.page-profile .academic-directory-links{display:flex;flex-wrap:wrap;gap:4px 9px;align-items:center;justify-content:flex-end}
.page-profile .academic-directory-links a{display:inline-flex;align-items:center;gap:14px;padding:9px 12px;color:#eef0f3;font-size:.77rem;border:1px solid transparent;border-radius:2px}
.page-profile .academic-directory-links a:hover,.page-profile .academic-directory-links a:focus-visible{background:#29425d;border-color:#6b8299;color:#fff}
.page-profile .academic-directory-links a span{font-size:.98rem;color:#dab985}
.page-profile .academic-main-wrap{padding-block:clamp(65px,7vw,118px);background:#faf9f6}
.page-profile .academic-profile-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:clamp(45px,7vw,118px);align-items:start}
.page-profile .academic-index{position:sticky;top:119px;min-width:0}
.page-profile .academic-index-eyebrow{display:block;font-size:.66rem;color:#96774d;font-weight:800;letter-spacing:.18em;margin-bottom:18px}
.page-profile .academic-index nav{display:grid;gap:1px;border-top:1px solid #d9d4ca}
.page-profile .academic-index nav a{border-bottom:1px solid #d9d4ca;display:flex;gap:16px;align-items:center;min-height:50px;padding:11px 4px;font-size:.88rem;font-weight:680;color:#344960;transition:padding-left .2s,color .2s}
.page-profile .academic-index nav a:hover,.page-profile .academic-index nav a:focus-visible{padding-left:10px;color:#997447}
.page-profile .academic-index nav a span{font:600 .7rem Georgia,serif;color:#ab8c60}
.page-profile .academic-index-contact{font-size:.78rem;font-weight:750;line-height:1.6;display:inline-block;margin-top:30px;color:#304b68}
.page-profile .academic-index-contact span{color:#af8146}
.page-profile .academic-profile-body{min-width:0;display:grid;gap:0}
.page-profile .academic-chapter{scroll-margin-top:110px;padding:0 0 clamp(58px,6vw,90px);margin:0 0 clamp(50px,5vw,82px);border-bottom:1px solid #dbd5ca}
.page-profile .academic-chapter-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:13px;margin-bottom:28px}
.page-profile .academic-chapter-heading>span,.page-profile .academic-cv-section>div>span{font-size:.69rem;font-weight:800;letter-spacing:.18em;color:#967142}
.page-profile .academic-chapter h2,.page-profile .academic-cv-section h2{font:500 clamp(2.25rem,3.9vw,4.25rem)/1.12 Georgia,'Times New Roman',serif;letter-spacing:-.05em;color:#192f48;margin:0;text-wrap:balance}
.page-profile .academic-biography{font-size:clamp(1.04rem,1.45vw,1.18rem);line-height:2.05;color:#465a6e;max-width:73ch;overflow-wrap:break-word}
.page-profile .academic-no-data{font-size:.92rem;color:#708194}
.page-profile .academic-focus{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.page-profile .academic-focus span{background:#f0ebe1;border:1px solid #e0d5c3;padding:7px 12px;border-radius:3px;color:#735739;font-size:.74rem;font-weight:720}
.page-profile .academic-expertise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 37px;border-top:1px solid #dbd5ca}
.page-profile .academic-expertise-item{display:grid;grid-template-columns:27px minmax(0,1fr);gap:15px;border-bottom:1px solid #dbd5ca;padding:25px 0;align-items:start}
.page-profile .academic-expertise-item>span{font-size:.69rem;font-weight:780;color:#aa8754;padding-top:4px}
.page-profile .academic-expertise-item h3{font-size:1.02rem;line-height:1.4;font-weight:790;color:#253c55;margin-bottom:10px}
.page-profile .academic-expertise-item p{font-size:.89rem;line-height:1.75;color:#65758a;margin:0}
.page-profile .academic-timeline{position:relative;border-top:1px solid #dbd5ca}
.page-profile .academic-timeline article{display:grid;grid-template-columns:minmax(80px,150px) minmax(0,1fr);gap:20px;padding:29px 0;border-bottom:1px solid #dbd5ca}
.page-profile .academic-timeline time{font-size:.87rem;font-weight:790;color:#a07942;line-height:1.55}
.page-profile .academic-timeline h3{font:500 clamp(1.25rem,2vw,1.7rem)/1.36 Georgia,serif;letter-spacing:-.019em;color:#1d344f;margin:0 0 8px}
.page-profile .academic-institution{color:#3f5265;font-size:.89rem;font-weight:740;margin:0}
.page-profile .academic-details{font-size:.87rem;line-height:1.78;margin:11px 0 0;color:#67788a}
.page-profile .academic-activities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.page-profile .academic-activities article{padding:24px;border:1px solid #ddd6ca;border-top:2px solid #af8a55;background:white}
.page-profile .academic-activities article>p{color:#977444;font-size:.73rem;font-weight:800;letter-spacing:.06em;margin:0 0 15px}
.page-profile .academic-activities h3{font:500 1.25rem/1.4 Georgia,serif;letter-spacing:-.01em;color:#1e3550;margin:0 0 12px}
.page-profile .academic-activities article>div{font-size:.85rem;line-height:1.75;color:#617389}
.page-profile .academic-cv-section{scroll-margin-top:110px;display:flex;align-items:end;justify-content:space-between;gap:26px;padding:37px 36px;background:#182f4b;color:#fff}
.page-profile .academic-cv-section h2{color:#fff;font-size:clamp(1.9rem,3vw,2.9rem);margin:13px 0}
.page-profile .academic-cv-section p{font-size:.88rem;line-height:1.75;color:#bac8d7;margin:0;max-width:56ch}
.page-profile .academic-cv-section>a{font-size:.78rem;font-weight:790;display:inline-block;padding:13px 17px;border:1px solid #d3bd95;color:#fff;white-space:nowrap}
.page-profile .academic-cv-section>a:hover{background:#d0ad76;color:#132640}
/* Dark mode, matching v12.6-v12.8 themes. */
[data-theme="dark"] .page-profile .academic-hero{background:linear-gradient(120deg,#101f34,#1b2d43);border-color:#34465d}
[data-theme="dark"] .page-profile .academic-hero h1,[data-theme="dark"] .page-profile .academic-chapter h2{color:#f1eee9!important}
[data-theme="dark"] .page-profile .academic-role{color:#dbc69f}
[data-theme="dark"] .page-profile .academic-introduction,[data-theme="dark"] .page-profile .academic-identity-meta span,[data-theme="dark"] .page-profile .academic-biography{color:#c1cdda}
[data-theme="dark"] .page-profile .academic-identity-meta{border-color:#3f4b5d}
[data-theme="dark"] .page-profile .academic-identity-meta b{color:#d1b789}
[data-theme="dark"] .page-profile .academic-inline-link,[data-theme="dark"] .page-profile .academic-index-contact{color:#d8c39f}
[data-theme="dark"] .page-profile .academic-portrait{background:#314257;box-shadow:30px 30px 0 rgba(255,255,255,.02)}
[data-theme="dark"] .page-profile .academic-portrait figcaption{color:#c2cfe0}
[data-theme="dark"] .page-profile .academic-directory{background:#09182d}
[data-theme="dark"] .page-profile .academic-main-wrap{background:#0d1d30}
[data-theme="dark"] .page-profile .academic-index nav a{color:#c4d3e0;border-color:#37495d}
[data-theme="dark"] .page-profile .academic-index nav,[data-theme="dark"] .page-profile .academic-chapter,[data-theme="dark"] .page-profile .academic-expertise-grid,[data-theme="dark"] .page-profile .academic-expertise-item,[data-theme="dark"] .page-profile .academic-timeline,[data-theme="dark"] .page-profile .academic-timeline article{border-color:#37495d}
[data-theme="dark"] .page-profile .academic-expertise-item h3,[data-theme="dark"] .page-profile .academic-timeline h3,[data-theme="dark"] .page-profile .academic-activities h3{color:#f2f3f6!important}
[data-theme="dark"] .page-profile .academic-expertise-item p,[data-theme="dark"] .page-profile .academic-details,[data-theme="dark"] .page-profile .academic-activities article>div,[data-theme="dark"] .page-profile .academic-institution{color:#b9c8d6}
[data-theme="dark"] .page-profile .academic-focus span{background:#27384a;border-color:#506178;color:#e1cb9f}
[data-theme="dark"] .page-profile .academic-activities article{background:#15283e;border-color:#4d5263}
[data-theme="dark"] .page-profile .academic-cv-section{background:#14233a}
/* Responsive breakpoints. */
@media(max-width:1000px){.page-profile .academic-hero-inner{gap:38px;grid-template-columns:minmax(0,1.1fr) minmax(250px,.68fr)}.page-profile .academic-profile-layout{grid-template-columns:165px minmax(0,1fr);gap:45px}.page-profile .academic-directory-inner{align-items:flex-start;flex-direction:column;gap:7px}.page-profile .academic-directory-links{justify-content:flex-start}}
@media(max-width:760px){.page-profile .academic-hero-inner{grid-template-columns:1fr;gap:35px;padding-block:57px}.page-profile .academic-hero h1{font-size:clamp(2.8rem,10vw,4.6rem)}.page-profile .academic-portrait{width:min(100%,400px);margin:0 auto}.page-profile .academic-portrait img{max-height:450px}.page-profile .academic-profile-layout{display:block}.page-profile .academic-index{position:relative;top:auto;margin-bottom:43px}.page-profile .academic-index nav{display:flex;overflow-x:auto;overscroll-behavior-x:contain;gap:15px;white-space:nowrap;padding-bottom:6px}.page-profile .academic-index nav a{border:0;min-height:42px;flex-shrink:0}.page-profile .academic-index-contact{margin-top:14px}.page-profile .academic-expertise-grid,.page-profile .academic-activities{grid-template-columns:1fr}.page-profile .academic-chapter{padding-bottom:45px;margin-bottom:45px}.page-profile .academic-timeline article{grid-template-columns:110px minmax(0,1fr)}.page-profile .academic-cv-section{align-items:start;flex-direction:column;padding:25px}}
@media(max-width:480px){.page-profile .academic-hero-inner{padding-block:42px}.page-profile .academic-directory-links a{padding:9px 8px}.page-profile .academic-timeline article{grid-template-columns:1fr;gap:8px;padding:20px 0}.page-profile .academic-identity-meta{gap:15px}.page-profile .academic-chapter h2{font-size:2.3rem}.page-profile .academic-expertise-item{grid-template-columns:22px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.page-profile .academic-index nav a{transition:none}}


/* ==== site-v1210.css ==== */
/* v12.10 — Public final polish; data and dashboard remain unchanged. */
:root{--v1210-accent:#b18b58;--v1210-ink:#17314d;--v1210-rule:rgba(26,48,71,.16)}
.portfolio-page{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.portfolio-page :is(h1,h2,h3){overflow-wrap:break-word}
.portfolio-page :is(p,li){overflow-wrap:break-word}
.portfolio-page main{min-height:38vh}
.portfolio-page :where(a,button,input,select,textarea):focus-visible{outline:3px solid #be8d49;outline-offset:3px}
.portfolio-page :where(input,select,textarea){max-width:100%}
.portfolio-page a:not(.btn){text-underline-offset:3px}
.portfolio-page .site-header{z-index:50}
.portfolio-page .nav-menu>a{min-height:42px;display:inline-flex;align-items:center}
.portfolio-page .site-header .brand{min-width:0}
.portfolio-page .site-header .brand-text{min-width:0}
.portfolio-page .editorial-header .nav-cta{justify-content:center}
.portfolio-page .page-hero h1,.portfolio-page .section-title-row h2{hyphens:none;text-wrap:balance}
.portfolio-page .section-title-row{align-items:flex-end}
.portfolio-page .section-title-row>.editorial-link{white-space:normal}
.portfolio-page .footer-bottom{flex-wrap:wrap;gap:10px 32px}
.portfolio-page .editorial-footer .footer-nav-links a,.portfolio-page .editorial-footer .footer-links a{min-height:32px;display:inline-flex;align-items:center}
.portfolio-page .back-to-top{z-index:30}
.portfolio-page :is(.publication-row,.feature-row,.media-card,.gallery-card){min-width:0}
.portfolio-page :is(.publication-row,.feature-row) h2 a{overflow-wrap:anywhere}
.portfolio-page .publication-row .pub-actions{flex-wrap:wrap}
.portfolio-page .filter-bar{box-shadow:0 8px 25px rgba(18,38,60,.025)}
.portfolio-page .filter-bar input[type="search"]{min-height:42px}
.portfolio-page .filter-bar select{min-height:42px}
/* Editorial documentary replaces public news teaser. */
.page-home .editorial-documentary{background:#fcfbf8;border-block:1px solid #e5dfd5}
.page-home .documentary-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:19px;align-items:stretch}
.page-home .documentary-item{display:flex;flex-direction:column;min-width:0;min-height:345px;background:#eeeae2;color:#1a344e;border:1px solid #e1dace;overflow:hidden;transition:border-color .2s ease,transform .3s ease}
.page-home .documentary-item:first-child{min-height:410px}
.page-home .documentary-image{position:relative;min-height:0;flex:1 1 auto;overflow:hidden;background:#ddd8ce}
.page-home .documentary-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.page-home .documentary-caption{display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:8px;align-items:end;padding:21px 24px 23px;min-height:112px;background:#f6f3ec}
.page-home .documentary-caption>span:first-child{grid-column:1/-1;color:#8b6a41;font-size:.68rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.page-home .documentary-caption strong{font:500 clamp(1.12rem,1.8vw,1.38rem)/1.35 Georgia,serif;letter-spacing:-.025em;color:#243e56;overflow-wrap:break-word}
.page-home .documentary-arrow{grid-column:2;font-size:1.2rem;color:#9a723d;align-self:center;text-align:right}
.page-home .documentary-item:hover,.page-home .documentary-item:focus-visible{border-color:#b58e55}
.page-home .documentary-item:hover img{transform:scale(1.035)}
.page-home .documentary-empty{padding:34px 38px;border:1px solid #d9d2c6;background:#f6f2eb;display:flex;justify-content:space-between;gap:28px;align-items:center}
.page-home .documentary-empty p{margin:0;color:#42566d}
/* More predictable footer and compact header across tablet widths. */
@media(max-width:1120px){
 .page-home .documentary-grid{grid-template-columns:1fr 1fr}
 .page-home .documentary-item:first-child{grid-column:1/-1;min-height:420px}
 .page-home .documentary-item{min-height:325px}
}
@media(max-width:750px){
 .portfolio-page .section-pad{padding-block:clamp(55px,9vw,80px)}
 .portfolio-page .section-title-row{gap:17px;align-items:flex-start;flex-direction:column}
 .portfolio-page .editorial-header .brand-text strong{max-width:200px}
 .page-home .documentary-grid{gap:16px}
 .page-home .documentary-item:first-child{min-height:330px}
 .page-home .documentary-item{min-height:280px}
 .page-home .documentary-caption{padding:17px;min-height:105px}
 .page-home .documentary-empty{flex-direction:column;align-items:flex-start;padding:24px}
}
@media(max-width:540px){
 .page-home .documentary-grid{grid-template-columns:1fr;gap:18px}
 .page-home .documentary-item:first-child{grid-column:auto;min-height:345px}
 .page-home .documentary-item{min-height:315px}
 .page-home .documentary-caption strong{font-size:1.18rem}
 .portfolio-page .filter-bar>span{margin-left:0;width:100%;padding-inline:3px}
 .portfolio-page .nav-shell{min-width:0}
}
[data-theme="dark"] .page-home .editorial-documentary{background:#101f31;border-color:#314558}
[data-theme="dark"] .page-home .documentary-item{background:#1a3045;border-color:#3b4c5d}
[data-theme="dark"] .page-home .documentary-image{background:#334454}
[data-theme="dark"] .page-home .documentary-caption{background:#1b3045}
[data-theme="dark"] .page-home .documentary-caption strong{color:#f1ede4}
[data-theme="dark"] .page-home .documentary-caption>span:first-child{color:#dfba85}
[data-theme="dark"] .page-home .documentary-arrow{color:#dfba85}
[data-theme="dark"] .page-home .documentary-empty{background:#1c2e42;border-color:#506174}
[data-theme="dark"] .page-home .documentary-empty p{color:#cad3dc}
@media(prefers-reduced-motion:reduce){
 .page-home .documentary-item,.page-home .documentary-image img{transition:none!important}
 .page-home .documentary-item:hover img{transform:none}
}


/* v12.12 · MAH academic identity and editorial controls */
.brand-logo{object-fit:contain;box-shadow:none;border-radius:0}
.site-header .brand-logo-light,.site-header .brand-logo-dark{width:82px;height:43px;flex:none;object-fit:contain}
.site-header .brand-logo-dark{display:none}
.brand-text strong{font-size:.87rem;white-space:normal;line-height:1.3}
.brand-text em{font-size:.62rem;letter-spacing:.12em}
.mah-footer-identity{display:flex;align-items:center;gap:18px;margin-bottom:25px;min-height:54px}
.mah-footer-identity img{width:114px;height:56px;object-fit:contain;flex:none}
.mah-footer-identity span{font-size:.7rem;letter-spacing:.16em;font-weight:750;color:#dfd0b8;border-left:1px solid #ffffff35;padding-left:16px}
.mah-hero-academic-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:27px;padding:14px 0;border-top:1px solid #1d344c22;border-bottom:1px solid #1d344c22}
.mah-links-kicker{font-size:.65rem;letter-spacing:.13em;font-weight:850;color:#85683c;margin-right:3px}
.mah-hero-academic-links a{font-size:.73rem;font-weight:750;color:#1c3555;white-space:nowrap;transition:color .2s}
.mah-hero-academic-links a:hover{color:#9a7140}
.mah-hero-academic-links a span{color:#96733d;margin-left:3px}
.mah-academic-eyebrow{font-size:.7rem!important;letter-spacing:.12em!important;font-weight:760;color:#ac8756!important;text-transform:uppercase;margin-top:17px;margin-bottom:20px}
.mah-academic-eyebrow span{margin:0 6px;color:#b5b4aa}
.mah-catalogue-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;border-top:1px solid var(--line);padding-top:18px}
.mah-catalogue-heading span{font-size:.72rem;font-weight:850;letter-spacing:.14em;color:#917047}
.mah-catalogue-heading strong{font-size:.83rem;color:#4b5f77;font-weight:700}
.page-publications .filter-bar,.page-projects .filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.page-publications .filter-bar input,.page-projects .filter-bar input{flex:2 1 240px;min-width:190px}
.page-publications .filter-bar select,.page-projects .filter-bar select{flex:1 1 150px;min-width:140px;max-width:230px}
.mah-empty-publications{padding:24px 0;color:#657386;font-size:.91rem;line-height:1.7}
[data-theme=dark] .site-header .brand-logo-light{display:none}
[data-theme=dark] .site-header .brand-logo-dark{display:block}
[data-theme=dark] .mah-links-kicker{color:#cba76e}
[data-theme=dark] .mah-hero-academic-links{border-color:#ffffff38}
[data-theme=dark] .mah-hero-academic-links a{color:#e6ecf4}
[data-theme=dark] .mah-hero-academic-links a span{color:#d5ad74}
[data-theme=dark] .mah-catalogue-heading strong{color:#b9c9dc}
[data-theme=dark] .mah-catalogue-heading span{color:#c7a574}
@media(max-width:980px){.site-header .brand-logo-light,.site-header .brand-logo-dark{width:68px;height:36px}.mah-links-kicker{width:100%}}
@media(max-width:680px){.site-header .brand-logo-light,.site-header .brand-logo-dark{width:58px;height:33px}.brand-text strong{font-size:.77rem}.brand-text em{font-size:.55rem}.mah-hero-academic-links{gap:10px 16px}.mah-hero-academic-links a{font-size:.72rem}.mah-catalogue-heading{align-items:start;flex-direction:column;gap:6px}.page-publications .filter-bar select,.page-projects .filter-bar select{max-width:none;flex:1 1 130px}.mah-footer-identity{gap:13px}.mah-footer-identity img{width:86px}}
@media(prefers-reduced-motion:reduce){.mah-hero-academic-links a{transition:none}}
