/* Layout repairs and new-page helpers; the original palette, panels and type remain. */
[hidden] { display:none!important; }
picture { display:contents; }
.profile-toc { width:95%; max-width:1100px; margin:24px auto; display:flex; flex-wrap:wrap; align-items:center; gap:10px 20px; font:18px/1.5 Roboto,sans-serif; }
.profile-toc a { color:blue; padding-block:8px; }
.profile-filter { width:95%; max-width:1100px; margin:24px auto; border:2px solid #c1c1c1; border-radius:5px; padding:20px; background:white; font:18px/1.5 Roboto,sans-serif; }
.profile-filter-fields { display:flex; flex-wrap:wrap; gap:14px 20px; }
.profile-filter label { display:flex; flex-direction:column; gap:6px; flex:1 1 150px; min-width:0; }
.profile-filter label:first-child { flex-basis:280px; }
.profile-filter input,.profile-filter select,.profile-filter button { font:inherit; min-height:44px; padding:8px; border:1px solid #777; border-radius:3px; max-width:100%; background:white; color:#222; }
.profile-filter button { cursor:pointer; color:blue; }
.profile-filter [role="status"] { margin:12px 0 0; color:#4b5156; }
.profile-filter-empty { margin:10px 0 0; }
.profile-work-meta { color:#4b5156; font-size:16px!important; }
.profile-quick { margin:16px auto; padding:12px; max-width:900px; width:94%; background:#808080; text-align:center; font:18px/1.6 Roboto,sans-serif; color:white; }
.profile-quick a { display:inline-block; color:#ffff00; padding:8px 12px; }
.nav-list a[aria-current="page"] { text-decoration:underline; text-underline-offset:6px; }
html[dir="rtl"] .profile-content,html[dir="rtl"] .profile-content p { text-align:right; }
html[dir="rtl"] .profile-content [dir="ltr"] { text-align:left; unicode-bidi:isolate; }
html[dir="rtl"] .profile-record dd { overflow-wrap:anywhere; }
@media(max-width:768px) {
 html[dir="rtl"] .menu { left:5%; right:auto; }
 .profile-filter { padding:14px; }
 .profile-toc { font-size:17px; gap:4px 14px; }
}
@media print {
 .profile-filter,.profile-toc,.profile-quick { display:none!important; }
 [data-catalogue-item][hidden],section[hidden] { display:block!important; }
}
.dot-red { background:#fc6058; }
.dot-yellow { background:#fec02f; }
.dot-green { background:#2aca3e; }
.navbar { align-items:center; }
.navbar .logo { flex-shrink:0; }
.navbar .logo img { height:auto; }
html[dir="rtl"] .navbar .logo { margin-left:0; margin-right:30px; }
html[dir="rtl"] .nav-list { margin-right:auto; margin-left:22px; }
.menu { background:transparent; border:0; padding:0; }
.menu span { display:block; }
.menu[hidden] { display:none; }
.profile-skip { position:absolute; top:-100px; left:16px; z-index:1100; background:white; color:blue; padding:12px; }
.profile-skip:focus { top:8px; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid #9c27b0; outline-offset:4px; }
#main:focus { outline:none; }
section[id],h1[id] { scroll-margin-top:96px; }
.profile-location,.profile-local-links,.profile-intro { width:95%; max-width:1100px; margin:20px auto; font:20px/1.6 Roboto,sans-serif; }
.profile-intro { text-align:center; }
.profile-local-links { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 24px; }
.profile-local-links a { min-height:44px; display:inline-flex; align-items:center; color:blue; }
.profile-local-links a[aria-current] { font-weight:bold; text-decoration-thickness:3px; }
.profile-content { width:100%; min-width:0; padding:12px; overflow-wrap:anywhere; }
.profile-content p { margin:0 0 18px; line-height:1.65; }
.profile-content h3 { font:700 24px/1.4 Roboto,sans-serif; margin:18px 0 12px; color:#9c27b0; }
.profile-content h4 { font:700 21px/1.5 Roboto,sans-serif; margin:14px 0; }
.profile-content ul,.profile-content ol { padding-inline-start:28px; margin-block:18px; }
.profile-content li { font:20px/1.65 Roboto,sans-serif; color:#4b5156; margin-bottom:10px; }
.profile-content a { color:blue; }
.profile-content figure { text-align:center; margin:20px auto; }
.profile-content figure img { max-width:100%; height:auto; }
.profile-content figcaption { font:16px/1.6 Roboto,sans-serif; margin:10px 0; }
.profile-content .project-card p { font-size:18px; line-height:1.5; }
.profile-content .project-card h3 { font-size:18px; color:blue; }
.profile-content .project-card img { max-width:100%; height:auto; max-height:320px; object-fit:contain; }
.profile-content .project-card { min-width:0; max-width:100%; }
.profile-entry { padding:18px 0; border-bottom:1px solid #c1c1c1; }
.profile-links { display:flex; flex-wrap:wrap; gap:10px 18px; margin:16px 0; }
ul.profile-links { display:block; }
.a-type-cover { padding:28px 12px; border:2px solid #9c27b0; font:700 28px/1.4 Roboto,sans-serif; color:blue; }
.a-type-cover span { display:block; margin-top:12px; font-size:18px; }
.profile-record { display:grid; grid-template-columns:auto 1fr; gap:6px 16px; font:18px/1.5 Roboto,sans-serif; }
.profile-record dt { font-weight:bold; }
.profile-record dd { margin:0; }
.profile-table-wrap { max-width:100%; overflow-x:auto; }
.profile-content table { border-collapse:collapse; width:100%; font:18px/1.6 Roboto,sans-serif; color:#4b5156; }
.profile-content th,.profile-content td { padding:12px; border:1px solid #c1c1c1; text-align:start; vertical-align:top; }
.profile-content th { background:#eaeaea; }
.profile-content pre { max-width:100%; overflow-x:auto; }
.profile-content .a-number { color:#9c27b0; font-size:24px; }
.about-box > *,.right-box,.left-box { min-width:0; max-width:100%; }
.about-container > .about-nav,.about-container > .about-box { min-width:0; max-width:100%; }
#statement .profile-content img:not([height="20"]) { max-width:calc(100% - 24px); height:auto; }
.myimage img { height:auto; max-height:320px; object-fit:contain; }
.projects-heading { overflow-wrap:anywhere; }
.profile-footer-links,.profile-project-links { display:flex; flex-wrap:wrap; gap:10px 16px; margin:18px 0; }
.profile-footer-links a,.profile-project-links a,footer a { color:cyan; }
.profile-footer-links a { font-size:17px; line-height:1.7; }
.footer-text,.footer-social { min-width:0; }
.go-up-btn { z-index:10; }
.about-section { position:relative; z-index:2; height:auto; min-height:100vh; }
#particles-js { position:relative; width:100%; height:auto; min-height:100vh; }
#particles-js canvas { inset:0; pointer-events:none; }
#particles-js .about-section { width:100%; }
#particles-js .about-section > figure { margin:20px auto; }
@media(max-width:1150px) and (min-width:769px) {
 .navbar { height:auto; min-height:80px; }
 .nav-list { flex-wrap:wrap; justify-content:flex-end; }
 .nav-list li a { font-size:18px; padding-inline:10px; }
}
@media(max-width:768px) {
 .navbar { height:auto; min-height:72px; align-items:stretch; }
 .navbar.height-mob-nav { height:72px; }
 .navbar.height-mob-nav .nav-list { display:none; }
 .nav-list { max-height:calc(100dvh - 80px); overflow-y:auto; padding:12px 0; }
 html[dir="rtl"] .nav-list { margin-inline:0; }
 .nav-list li { margin:0; }
 .nav-list li a { min-height:44px; }
 .navbar .logo { align-self:flex-start; }
 .projects-heading { font-size:clamp(30px,7vw,56px); padding-top:30px; }
 .profile-content li { font-size:18px; }
 .profile-content .projects-container { padding:0; }
 .profile-location,.profile-intro,.profile-local-links { font-size:18px; }
}
@media(max-width:600px) {
 .right-box { text-align:start; margin:8px; padding:8px; flex-basis:auto; width:calc(100% - 16px); }
 .left-box { flex-basis:auto; width:calc(100% - 20px); }
 .profile-content { padding:8px; }
 .profile-content .project-card { flex-basis:min(260px,100%); }
 .profile-record { grid-template-columns:1fr; gap:4px; }
 .profile-record dd { margin-bottom:12px; }
 #particles-js h1 { font-size:clamp(30px,9vw,48px)!important; }
 #particles-js h2 { font-size:clamp(23px,6vw,32px)!important; }
 #particles-js figure > div { margin-inline:16px!important; }
 .footer-social-text { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { transition:none!important; animation:none!important; }
}
@media print {
 .navbar,footer,.go-up-btn,.profile-local-links,.profile-skip,#particles-js canvas { display:none!important; }
 body { background:white; }
 hr { border:0; border-top:1px solid #999; margin:18px 0; }
 .projects-heading { font-size:24pt; padding-top:12px; color:#333; }
 .about-container { box-shadow:none; max-width:none; width:100%; }
 .about-nav { display:none; }
 .profile-content p,.profile-content li,.profile-content table { font-size:11pt; line-height:1.5; }
 .profile-content .project-card p { font-size:10pt; }
 .profile-table-wrap { overflow:visible; }
 figure,img,tr { break-inside:avoid; }
}
