@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600&family=Source+Serif+4:wght@400;500;600;700&display=swap');
:root{--teal:#004e50;--navy:#092747;--gold:#c69a45;--cream:#f7f4eb}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--navy);font-family:'Source Sans 3',Arial,sans-serif;font-size:14px}button,input,select{font:inherit}button,a,select{ -webkit-tap-highlight-color:transparent}button,select{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}header{height:81px;background:linear-gradient(110deg,#063e3b,#003d3b);display:flex;align-items:center;padding:0 29px;gap:35px;color:#fff}.brand{display:flex;align-items:center;gap:20px;white-space:nowrap;font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:33px;line-height:1}.brand-mark{color:#d7af65;font-size:68px;font-weight:400}.brand small{display:block;font:10px 'Source Sans 3',sans-serif;letter-spacing:4px;margin-top:7px}nav{display:flex;gap:44px;margin-left:auto;font:18px 'Source Serif 4',Georgia,serif}nav a{padding:13px 0;position:relative}nav a.active:after{content:'';position:absolute;bottom:4px;height:2px;background:#e7bd67;left:0;right:0}.header-tools{display:flex;align-items:center;gap:23px;margin-left:48px}.language,.header-search{border:1px solid #a8ad94;border-radius:8px;height:41px;display:flex;align-items:center;gap:10px;padding:0 10px}.language{font-size:26px}.language select{width:44px;color:white;background:transparent;border:0;font-size:14px}.language option{color:var(--navy)}.header-search{width:290px}.header-search span{font-size:32px}.header-search input{background:transparent;border:0;color:#fff;outline:0;width:100%}.header-search input::placeholder{color:#c6d3d2}.menu{border:0;background:none;color:#dcb965;font-size:32px;padding:0}main{padding:0 29px 32px;max-width:1600px;margin:auto}.intro{display:flex;justify-content:space-between;gap:25px;padding:29px 104px 20px;position:relative}.intro:before,.intro:after{content:'۞';position:absolute;color:#c4b78c;opacity:.32;font-size:190px;top:-43px;pointer-events:none}.intro:before{left:-103px}.intro:after{right:-102px}h1{font:600 35px/1.3 'Source Serif 4',Georgia,serif;margin:3px 0 11px;letter-spacing:-.6px}.intro p{font-size:16px;line-height:1.42;color:#345a7e;margin:0}.filters{display:flex;align-items:center;gap:13px;padding:17px 13px;border:1px solid #cbdad7;border-radius:13px;margin-bottom:20px;background:#ffffff50}.search{display:flex;align-items:center;border:1px solid #d1dcd8;border-radius:13px;height:44px;padding:0 10px;gap:10px;flex:1;min-width:190px}.search span{font-size:34px;color:var(--teal)}input{min-width:0}.search input{width:100%;outline:0;border:0;background:transparent;color:var(--navy)}.search input::placeholder{color:#567292}.categories{display:flex;gap:9px;border-left:1px solid #b3c6c5;padding-left:23px;margin-left:12px}.categories button,.filters select{border:1px solid #d3dbd6;border-radius:10px;background:linear-gradient(#fff8,#f5f3e9);height:44px;padding:0 15px;white-space:nowrap}.categories button{color:#00464c;font-size:21px;display:flex;align-items:center;gap:12px}.categories span{font-size:14px}.categories button.selected{background:#004e4e;color:#fff;border-color:#397571}.categories button:first-child{font-size:14px;padding:0 25px}.filters select{color:var(--navy);min-width:151px}.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:17px;padding:0 3px}.card{position:relative;min-height:466px;padding:17px 25px 20px;background:#f5ecd7;color:var(--navy);border:1px solid #b69551;border-radius:5px;box-shadow:inset 0 0 0 4px #f8e6bc,inset 0 0 0 6px #b89a56;overflow:hidden;display:flex;flex-direction:column}.card:before{content:'';position:absolute;inset:9px;border:1px solid #bca15d;pointer-events:none}.card.dark{color:#fff;background:#073450;box-shadow:inset 0 0 0 5px #063447,inset 0 0 0 6px #d6ad54}.card.green{background:#00483e}.card-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22;pointer-events:none}.dark .card-bg{opacity:.65}.card>*:not(.card-bg){position:relative}.card-top{display:flex;justify-content:space-between;align-items:center;margin:-2px -10px 0}.flip{border:0;background:transparent;color:inherit;font-size:13px;padding:0}.art{height:124px;display:flex;align-items:center;justify-content:center;color:#d4a853;font-size:106px;line-height:1;margin-bottom:5px}.art.arabic{font:70px Georgia;text-shadow:1px 2px #674810}.art.arch{font-size:83px;border:3px solid #d8b367;border-radius:50% 50% 0 0;max-width:125px;width:100%;height:124px;margin:0 auto 5px}.card h2{font:600 20px/1.2 'Source Serif 4',Georgia,serif;text-align:center;white-space:nowrap;margin:0 -15px 7px}.honor{font:11px Georgia;margin-left:4px}.badge{align-self:center;border:1px solid #5c9296;background:#005c57;border-radius:20px;padding:2px 21px;color:#fff;font-size:13px;margin-bottom:11px;line-height:1.4}.dark .badge,.blue-badge{background:#306688;border-color:#bc9b50}.green .badge{background:#b88818;border-color:#e1b44b}.dates{display:flex;gap:13px;font-size:13px;line-height:1.4}.dates span{font-size:20px}.dates small{display:block;font-size:12px;margin-top:3px}.description{font-size:13px;line-height:1.36;margin:11px 0 12px;min-height:53px}.citations{display:flex;gap:12px;border-top:1px solid #8a8a7540;padding-top:9px;font-size:11px;line-height:1.7;margin-top:auto}.dark .citations{border-color:#adc1bc80}.citations>span{font-size:23px;line-height:1}.confidence{color:var(--teal)}.dark .confidence{color:#fff}.confidence:before{content:'●';color:#008978;margin-right:6px}.dark .confidence:before{color:#5cd19d}.profile{border:1px solid #e6a426;background:#004e4e;color:#fff;border-radius:24px;width:100%;height:34px;margin-top:13px}.dark .profile{background:#002d4c}.green .profile{background:#00483e}.profile span{margin-left:13px;font-size:23px;line-height:0}.sources{display:grid;grid-template-columns:2.2fr .9fr 1.03fr 1.2fr 1.36fr;border:1px solid #a9ccca;border-radius:14px;background:#e9efea99;padding:23px 19px 18px;margin-top:22px;gap:25px;min-height:149px}.source-intro{display:flex;gap:16px}.shield{font-size:49px;color:#005256;line-height:1}.sources h2{font:600 18px 'Source Serif 4',Georgia,serif;color:#003c47;margin:0 0 8px}.sources p{font-size:12px;color:#496987;line-height:1.55;margin:0 0 7px}.source{border-left:1px solid #bcd0c9;padding-left:35px}.source>span{font-size:32px;color:#00464a;line-height:.9;display:block;margin-bottom:7px}.source h3{font-size:13px;font-weight:600;margin:0 0 3px}.source a,.source button{font-size:12px;color:#005457;padding:0;border:0;background:none}.methodology{display:flex;gap:14px;padding-left:24px;align-items:center}.methodology>span{font-size:46px}.methodology h3{font-size:12px}dialog{border:1px solid #bd9b53;border-radius:15px;background:var(--cream);color:var(--navy);max-width:560px;width:90%;padding:35px;box-shadow:0 20px 100px #0005}dialog::backdrop{background:#002d37a0}dialog h2{font-family:'Source Serif 4',Georgia,serif}dialog p{line-height:1.6}.close{position:absolute;right:14px;top:8px;border:0;background:none;font-size:28px}.empty{grid-column:1/-1;padding:60px;text-align:center}button:hover,a:hover{filter:brightness(1.12)}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #b98d36;outline-offset:3px}.back-copy{min-height:262px;line-height:1.7;padding-top:20px}.back-copy h3{font-family:Georgia;font-size:23px}@media(min-width:1500px){.card{min-height:490px}.art{height:145px}}@media(max-width:1250px){header{gap:20px}.brand{font-size:27px}.header-tools{margin-left:10px;gap:12px}nav{gap:25px}.header-search{width:200px}.intro{padding-left:40px;padding-right:40px}h1{font-size:29px}.filters{flex-wrap:wrap}.search{flex-basis:30%}.categories{flex:1;justify-content:space-around}.cards{gap:12px}.card{padding:17px 17px 20px}.card h2{font-size:16px}.sources{gap:16px}.source{padding-left:17px}}@media(max-width:950px){header{height:auto;min-height:81px;flex-wrap:wrap;padding:12px 20px}.brand{margin-right:auto}nav{order:3;width:100%;justify-content:center;margin:0}.header-search{display:none}.intro{padding:28px 0;flex-direction:column}.desktop{display:none}.cards{grid-template-columns:repeat(3,1fr)}.sources{grid-template-columns:repeat(2,1fr)}.source-intro{grid-column:1/-1}.filters .search{flex-basis:100%}.categories{padding:0;margin:0;border:0}.card h2{font-size:19px}}@media(max-width:600px){main{padding:0 15px 25px}.brand{font-size:23px;gap:8px}.brand-mark{font-size:49px}.brand small{font-size:7px;letter-spacing:2.5px}.header-tools{gap:12px;margin:0}.language{height:35px}.menu{font-size:25px}h1{font-size:29px}.intro p{font-size:15px}.categories{overflow:auto;justify-content:flex-start;flex-basis:100%}.categories button{padding:0 12px;gap:6px}.filters select{flex:1;min-width:100px}.cards{grid-template-columns:1fr;max-width:380px;margin:auto}.card{min-height:466px;padding:17px 25px 20px}.card h2{font-size:23px}.art{height:135px}.sources{grid-template-columns:1fr}.source-intro{grid-column:auto}.source{border-left:0;border-top:1px solid #bcd0c9;padding:15px 0 0}.methodology{padding-left:0}.header-tools .language{font-size:22px}}
/* Keep the card composition readable on compact desktop screens. */
.card-bg{opacity:.07}.dark .card-bg{opacity:.18}.art:not(.arabic){font-size:0!important;border:0;border-radius:0;max-width:none;width:100%;background-size:180px 270px;background-position:center 26%;background-repeat:no-repeat;mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent)}.card:nth-child(2) .art,.card:nth-child(5) .art{background-image:url('assets/blue.webp')}.card:nth-child(3) .art{background-image:url('assets/teal.webp')}.card:nth-child(4) .art{background-image:url('assets/green.webp')}.card h2{white-space:normal}.badge{white-space:nowrap}.intro{overflow:hidden}body{overflow-x:hidden}@media(max-width:1100px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.intro{flex-direction:column;padding:28px 20px}.desktop{display:none}.header-tools .header-search{display:none}.card h2{font-size:20px}.sources{grid-template-columns:repeat(2,minmax(0,1fr))}.source-intro{grid-column:1/-1}}@media(max-width:600px){.cards{grid-template-columns:1fr}.sources{grid-template-columns:1fr}.source-intro{grid-column:auto}.intro{padding:28px 0}}
/* Reference fidelity refinements */
body{background:radial-gradient(ellipse at 45% 42%,#fffdf8 0,#f6f3e9 75%);font-size:14px}
header{background-color:#003e3c;background-image:linear-gradient(100deg,#003c3bfa,#004440ef),url('assets/pattern.svg');height:81px}
.brand-mark{display:inline-block;width:65px;height:65px;font-size:0;background:url('assets/rosette.svg') center/contain no-repeat;flex-shrink:0}
.brand{font-size:33px;gap:20px}.brand small{letter-spacing:4px}
.intro{overflow:visible;padding-top:31px;padding-bottom:21px}.intro:before,.intro:after{font-size:0;width:160px;height:160px;top:3px;background:url('assets/rosette.svg') center/contain no-repeat;opacity:.4}.intro:before{left:-76px}.intro:after{right:-76px}
h1{font-size:35px;letter-spacing:-.55px}.intro p{font-size:16px;line-height:1.42}.intro>div{position:relative;z-index:1}
.card{height:466px;min-height:466px;padding:17px 25px 20px;background-color:#f8efda;background-image:linear-gradient(120deg,#fffaf0e8,#f7e9cfe8),url('assets/pattern.svg');border:1px solid #b29c6c;border-radius:4px;box-shadow:inset 0 0 0 4px #f8ecd3,inset 0 0 0 5px #b99b5e}
.card.dark{background-color:#02334f;background-image:linear-gradient(120deg,#003657b0,#052e4ce8),url('assets/pattern.svg');box-shadow:inset 0 0 0 5px #07334d,inset 0 0 0 6px #bd9444}
.card.green{background-color:#004737;background-image:linear-gradient(120deg,#004b3ab0,#003e33e8),url('assets/pattern.svg');box-shadow:inset 0 0 0 5px #004437,inset 0 0 0 6px #bd9444}
.card:before{inset:10px;border:1px solid #bb9851}.card-frame{position:absolute!important;inset:3px;pointer-events:none;background:url('assets/corner.svg') left top/44px 44px no-repeat;z-index:2}.card-frame:before,.card-frame:after{content:'';position:absolute;width:44px;height:44px;background:url('assets/corner.svg') center/contain no-repeat}.card-frame:before{right:0;top:0;transform:rotate(90deg)}.card-frame:after{left:0;bottom:0;transform:rotate(-90deg)}.card:after{content:'';position:absolute;width:44px;height:44px;bottom:3px;right:3px;background:url('assets/corner.svg') center/contain no-repeat;transform:rotate(180deg);pointer-events:none;z-index:2}
.card-top{z-index:3;align-items:center;height:35px}
.card .art{height:145px!important;min-height:145px;margin:-1px -5px 0!important;padding:0;border:0!important;max-width:none!important;width:auto!important;border-radius:0!important;background:none!important;mask-image:none!important;font-size:0!important;display:flex;align-items:center;justify-content:center}
.art img{height:159px;width:185px;object-fit:contain;mix-blend-mode:multiply}.dark .art img{mix-blend-mode:screen}
.card h2{font-size:20px;line-height:1.2;margin:0 -15px 7px;white-space:nowrap;font-weight:600;letter-spacing:-.25px}.honor{font-size:10px;letter-spacing:0}
.badge{font-size:13px;padding:2px 20px;line-height:1.4;margin-bottom:10px}.description{font-size:13px;line-height:1.36;margin:12px 0 11px;min-height:53px}.dates{font-size:13px;gap:13px}.dates small{font-size:12px}.citations{font-size:11px;padding-top:9px}.profile{height:34px;margin-top:13px;background:linear-gradient(110deg,#005750,#004446)}.dark .profile{background:linear-gradient(110deg,#023c60,#032949)}.green .profile{background:linear-gradient(110deg,#005449,#003c35)}.sources{margin-top:22px}
@media(min-width:1350px){.intro{padding-left:104px;padding-right:140px}.intro>div{max-width:850px}.intro h1{white-space:nowrap}.header-tools{margin-left:48px}.cards{grid-template-columns:1.06fr 1fr .97fr 1fr 1.05fr}.filters{flex-wrap:nowrap}.search{flex:1;min-width:200px}.categories{flex:none;gap:9px}.filters select{min-width:151px}.card{height:466px;min-height:466px}.art{height:145px}}
@media(min-width:1500px){.card{height:490px;min-height:490px}.card .art{height:165px!important;min-height:165px}.art img{height:175px;width:200px}}
@media(min-width:1101px) and (max-width:1349px){.intro{padding-left:50px;padding-right:10px}.intro h1{font-size:29px}.intro p{max-width:660px}.card{padding-left:17px;padding-right:17px}.card h2{font-size:17px;white-space:normal}.art img{width:160px;height:155px}.categories{padding-left:10px}.categories button{padding:0 10px}.sources{gap:15px}}
@media(max-width:1100px){header{gap:20px}.brand{font-size:27px}.brand-mark{width:52px;height:52px}.intro{padding:28px 40px}.intro:before,.intro:after{width:130px;height:130px}.card h2{font-size:21px;white-space:normal}.card .art{height:145px!important;min-height:145px}.card{height:466px;min-height:466px}.sources{grid-template-columns:repeat(2,minmax(0,1fr))}.source-intro{grid-column:1/-1}}
@media(max-width:600px){header{height:auto;gap:10px;padding:12px 15px}.brand{font-size:22px;gap:8px}.brand small{font-size:7px;letter-spacing:2.5px}.brand-mark{width:44px;height:44px}.header-tools{margin-left:0}.intro{padding:27px 0}.intro:before,.intro:after{opacity:.15}.intro h1{font-size:29px}.intro p{font-size:15px}.card{height:466px;padding:17px 25px 20px}.card h2{font-size:23px}.sources{grid-template-columns:1fr}.source-intro{grid-column:auto}}
.icon{width:22px;height:22px;flex-shrink:0;vertical-align:middle}.language .icon{width:23px;height:23px}.header-search .icon,.search .icon{width:23px;height:23px}.menu .icon{width:28px;height:28px}.categories .icon{width:21px;height:21px}.dates>.icon{width:17px;height:17px;margin-top:2px}.citations>.icon{width:22px;height:22px}.flip .icon{width:14px;height:14px}.profile .icon{width:14px;height:14px;margin-left:9px}.source>.icon{width:32px;height:32px;color:#00464a;display:block;margin-top:-5px;margin-bottom:7px}.shield .icon{width:43px;height:43px;padding:6px;color:#fff;background:#00484b;outline:2px solid #c69a45;clip-path:polygon(50% 0,72% 12%,100% 20%,90% 60%,70% 88%,50% 100%,30% 88%,10% 60%,0 20%,28% 12%)}.methodology-mark{width:45px;height:45px;flex-shrink:0;filter:saturate(.5)}
.art img,.dark .art img{mix-blend-mode:normal;width:193px;height:160px}.card:nth-child(1) .art img{width:206px;height:169px}.card:nth-child(3) .art img{width:178px;height:155px}.card .art{margin-top:0!important;margin-bottom:0!important}.card-frame{opacity:.9}.dark .card-frame{filter:brightness(1.25)}
@media(min-width:1101px){.card .art{height:123px!important;min-height:123px}.card .art img{height:155px}.card:nth-child(1) .art img{height:166px}.card:nth-child(3) .art img{height:148px}}
.card.dark{background-image:linear-gradient(120deg,#003657e5,#052e4cf5),url('assets/pattern.svg')}.card.green{background-image:linear-gradient(120deg,#004b3ae5,#003e33f5),url('assets/pattern.svg')}.sources p{font-size:12px}.source-intro p{font-size:13px}.source h3{font-size:13px;font-weight:500}.methodology h3{font-size:12px}.sources{grid-template-columns:2.25fr .87fr 1.03fr 1.2fr 1.36fr}.methodology{gap:14px}.source-intro{gap:16px}.source{padding-left:35px}.methodology{padding-left:24px}@media(max-width:1100px){.sources{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.sources{grid-template-columns:1fr}.source{padding-left:0}}

/* Cards size to their contents; artwork and actions keep their own space. */
.cards{align-items:stretch}
.card{height:auto;min-height:466px;min-width:0;padding:17px 20px 20px;container-type:inline-size}
.card>*:not(.card-frame){flex-shrink:0;min-width:0}
.card .art{height:150px!important;min-height:150px!important;flex:0 0 150px;margin:4px 0 10px!important;overflow:hidden}
.card .art img,.card:nth-child(1) .art img,.card:nth-child(3) .art img{display:block;max-width:100%;width:190px;height:100%;max-height:100%;object-fit:contain}
.card h2{display:flex;align-items:baseline;justify-content:center;gap:5px;margin:0 0 8px;font-size:clamp(14px,7.6cqi,18px);line-height:1.35;letter-spacing:-.3px;font-weight:500;white-space:nowrap;width:100%}
.figure-name{min-width:0;white-space:nowrap}
.card .honor{flex:0 0 auto;margin:0;font-size:clamp(8px,3.7cqi,10px);line-height:1.3;letter-spacing:0;white-space:nowrap}
.card .badge{font-size:12px;padding:2px 17px;margin-bottom:11px;max-width:100%}
.card .dates{font-size:12px;gap:10px;line-height:1.45}
.card .dates small{font-size:11px;overflow-wrap:anywhere}
.card .description{font-size:12px;line-height:1.5;min-height:0;margin:12px 0 13px;overflow-wrap:anywhere}
.card .citations{font-size:10.5px;line-height:1.65;padding-top:9px;margin-top:auto;gap:10px}
.card .citations>div{min-width:0;overflow-wrap:anywhere}
.card .profile{display:flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:34px;height:auto;padding:7px 10px;margin-top:12px;font-size:12px;line-height:1.35}
.back-copy{min-height:0;padding-top:18px;padding-bottom:15px;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.back-copy h3{font-size:18px;line-height:1.3;margin:0 0 12px}
@media(max-width:1349px) and (min-width:1101px){.cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.card{height:auto;min-height:466px}}
@media(max-width:850px){.cards{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}}
@media(max-width:540px){.cards{grid-template-columns:minmax(0,1fr);max-width:380px}.card{height:auto;min-height:466px;padding:17px 20px 20px}}

[hidden]{display:none!important}
.catalogue-count{font-size:13px;color:#476a72;margin:12px 0}.catalogue-pagination{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin:24px 0}.catalogue-pagination button{border:1px solid #9bb5ae;border-radius:7px;padding:9px 15px;color:#16494c;background:#fff9;cursor:pointer}.catalogue-pagination button.selected{background:#075351;color:white}.card h2{white-space:normal!important;flex-wrap:wrap;justify-content:center;overflow-wrap:anywhere}.card h2 .figure-name{white-space:normal!important;max-width:100%;font-size:clamp(14px,7.5cqi,18px)}.card h2 .honor{white-space:nowrap}.card .art{margin-bottom:12px}.card .description{overflow-wrap:anywhere}.card .back-copy{overflow-wrap:anywhere}

.intro{overflow:hidden}

/* Language direction and long translated labels. */
html[dir="rtl"] body { text-align: right; }
html[dir="rtl"] .intro, html[dir="rtl"] .card, html[dir="rtl"] .profile-hero { text-align: center; }
html[dir="rtl"] .profile svg.icon-chevron { transform: rotate(180deg); }
html[dir="rtl"] .profile-tabs, html[dir="rtl"] .profile-meta { direction: rtl; }
html[dir="rtl"] .profile-facts dd[lang="ar"] { text-align: right; }
.categories button, .language, .filled-button, .outline-button { min-width: 0; }
.profile-tabs button, .categories button { overflow-wrap: anywhere; }
.card h2, .era-card h3, .profile-hero h1 { overflow-wrap: anywhere; }
/* Localized brand and navigation text must share the available header width. */
@media(min-width:1101px){
 header { gap:24px; min-height:81px; height:auto; padding-top:12px; padding-bottom:12px; }
 header .brand { font-size:26px; white-space:normal; max-width:36vw; }
 header .brand small { letter-spacing:2px; white-space:normal; }
 header nav { gap:24px; margin-left:auto; font-size:18px; }
 .header-tools { margin-left:0; flex-shrink:0; }
 .header-search { width:220px; }
}
@media(min-width:1101px) and (max-width:1400px){ .header-search { display:none; } }
@media(max-width:950px){
 header .brand { min-width:0; max-width:calc(100% - 115px); white-space:normal; }
 header .brand > span:last-child { min-width:0; overflow-wrap:anywhere; }
 header .brand small { white-space:normal; letter-spacing:1px; line-height:1.4; }
 header nav { flex-wrap:wrap; gap:8px 18px; min-width:0; font-size:16px; }
}
@media(max-width:600px){
 header .brand { font-size:18px; gap:8px; }
 header .brand-mark { width:36px; height:36px; }
 header .brand small { font-size:7px; }
 header .header-tools { gap:8px; flex-shrink:0; }
}
/* Keep category text readable in the single page-level search/filter bar. */
.categories { min-width:0; }
.categories button { flex-shrink:0; }

/* The card surface flips; its corner button also supports keyboard activation. */
.card { transform-origin:center; }
.card.is-turning { will-change:transform; z-index:6; }
.card .card-top { position:absolute!important; inset-block-start:10px; inset-inline-end:10px; width:44px; height:44px; min-height:44px; margin:0; z-index:4; }
.card .flip { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; pointer-events:auto; }
.card .flip .icon { width:17px; height:17px; }
.card-front { display:flex; flex-direction:column; min-width:0; }
.card .back-copy { padding:12px 0 18px; text-align:start; }
.card .back-copy h2 { font-size:18px; margin-bottom:18px; line-height:1.4; }
.back-eyebrow { margin:0 0 6px; text-align:center; font-size:10px; text-transform:uppercase; letter-spacing:1.2px; color:#426963; }
.dark .back-eyebrow { color:#e3c886; }
.card-highlights { margin:0; padding-inline-start:17px; font-size:12px; line-height:1.6; }
.card-highlights li + li { margin-top:12px; }
.card-highlights li::marker { color:#ab7927; }
.dark .card-highlights li::marker { color:#e3c886; }
.card .profile { z-index:5; min-height:44px; }

/* Inline person references keep the surrounding typography and remain tappable. */
.person-link { color:#00625c; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; border-radius:2px; }
.person-link:hover { text-decoration-thickness:2px; }
.card .person-link { position:relative; z-index:4; color:inherit; }
.card.dark .person-link { color:#f3d697; }
@media print { .person-link { color:inherit; text-decoration:underline; } }

/* Shared card controls: background colours distinguish artwork, never actions. */
.card { --card-muted:#355968; --card-accent:#00544e; --card-surface:#fbf7ed; }
.card.dark { --card-muted:#dbe5e2; color:#faf3e4; }
.card .dates,.card .description { color:var(--card-muted); }
.card .badge { color:#184a45; background:var(--card-surface); border:1px solid #d0bc92; border-radius:7px; padding:4px 12px; font-size:11px; font-weight:600; line-height:1.45; }
.card .flip { color:var(--card-muted); border-radius:6px; padding:0; }
.card .flip:hover { color:#184a45; background:var(--card-surface); filter:none; }
.card .back-eyebrow { color:var(--card-muted); }
.card .card-footer { margin-top:auto; padding:12px; color:#184a45; background:var(--card-surface); border:1px solid #d0bc92; border-radius:12px; z-index:4; pointer-events:none; }
.card .card-footer .citations { margin:0; padding:0; border:0; color:#355968; }
.card .card-footer .confidence { color:#355968; }
.card .card-footer .confidence::before { color:var(--card-accent); }
.card .card-footer .profile { position:relative; pointer-events:auto; color:#fffdf7; background:var(--card-accent); border:1px solid var(--card-accent); box-shadow:0 2px 4px #003d3418; margin-top:10px; padding:10px 12px; font-size:12px; font-weight:600; }
.card .card-footer .profile:hover { background:#003f3b; border-color:#003f3b; filter:none; }
.card .card-footer .profile:focus-visible { outline:3px solid #003f3b; outline-offset:3px; }

/* Biographical facts replace repeated source labels on the compact cards. */
.card .card-known-for { margin:10px 0; }
.card .card-known-for>span,.card .card-context-fact>span { display:block; font-size:9px; font-weight:600; letter-spacing:.6px; text-transform:uppercase; }
.card .card-known-for>span { color:var(--card-muted); }
.card .card-known-for .description { margin:4px 0 0; }
.card .card-place { display:flex; align-items:flex-start; gap:8px; margin:0 0 14px; font-size:11px; line-height:1.45; color:var(--card-muted); }
.card .card-place .icon { width:15px; height:15px; margin-top:1px; }
.card .card-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0 0 12px; pointer-events:auto; cursor:pointer; }
.card .card-facts.has-age { grid-template-columns:repeat(3,minmax(0,1fr)); }
.card .card-facts>div { min-width:0; }
.card .card-facts dt { margin:0 0 4px; font-size:10px; line-height:1.35; color:#355968; overflow-wrap:anywhere; }
.card .card-facts dd { margin:0; font-size:12px; font-weight:600; line-height:1.45; overflow-wrap:anywhere; }
.card .card-context-fact p { margin:4px 0 8px; font-size:11px; line-height:1.5; }
.card .card-life-note { margin:0 0 10px; font-size:10px; color:#355968; }
.card .card-footer .person-link { pointer-events:auto; color:#00544e; }

/* Both faces share clear section headings and a compact information panel. */
.card .card-facts { margin-bottom:0; }
.card .card-life-note { margin:0 0 9px; line-height:1.45; }
.card .back-copy { padding:8px 0 16px; }
.card .back-copy h2 { margin-bottom:20px; padding-inline:22px; }
.card .back-section-label { font:600 10px/1.5 'Source Sans 3',Arial,sans-serif; text-transform:uppercase; letter-spacing:.6px; margin:0 0 8px; }
.card .back-section-label { color:var(--card-muted); }
.card .back-context { margin-top:22px; padding-top:16px; border-top:1px solid #b99b5e70; }
.card .card-context { display:grid; gap:12px; margin:0; font-size:12px; line-height:1.5; }
.card .card-context>div { min-width:0; }
.card .card-context dt { font-size:10px; color:var(--card-muted); margin-bottom:3px; }
.card .card-context dd { margin:0; overflow-wrap:anywhere; }
.card .card-context a { position:relative; z-index:4; color:inherit; text-underline-offset:3px; }
/* Missing-date context sits above the facts; values stay close to the action. */
.card .card-facts { grid-template-rows:auto auto; column-gap:10px; row-gap:4px; }
.card .card-facts>div { display:grid; grid-template-rows:subgrid; grid-row:span 2; }
.card .card-facts dt { margin:0; }
.card .card-footer [data-front-only] { min-height:0; }

/* Category colours: prophets ivory, companions navy, scholars emerald, others burgundy. */
.card.burgundy { background-color:#491b2c; background-image:linear-gradient(120deg,#541e32ed,#341425f5),url('assets/pattern.svg'); box-shadow:inset 0 0 0 5px #451a2b,inset 0 0 0 6px #bd9444; }

/* Cards flip from their surface; the single profile action stays a clear link. */
.card { cursor:pointer; }

/* Teach the card gesture once, outside the biography content. */
.card-flip-hint { display:flex; align-items:flex-start; gap:13px; padding:16px 18px; margin:0 0 22px; background:#e7f0e8; border:1px solid #b7cec0; border-inline-start:4px solid #00625c; border-radius:12px; color:#234b43; font-size:14px; line-height:1.5; }
.card-flip-hint[hidden] { display:none; }
.card-flip-hint .banner-info { flex:none; width:26px; height:26px; margin-top:1px; color:#00625c; }
.card-flip-hint strong { display:block; margin:0 0 3px; font-size:16px; font-weight:650; color:#004e48; }
.card-flip-hint>span { min-width:0; }
.catalogue-count-row { display:flex; align-items:center; gap:8px; }
.catalogue-count-row .catalogue-count { min-width:0; }
.card-tip-reopen,.card-tip-dismiss { flex:none; display:grid; place-items:center; width:44px; height:44px; padding:8px; border:0; border-radius:50%; background:transparent; color:#00625c; cursor:pointer; }
.card-tip-reopen svg { width:22px; height:22px; }
.card-tip-dismiss { margin-inline-start:auto; font-size:26px; }
.card-tip-reopen:hover,.card-tip-dismiss:hover { background:#cddfd2; }
.card-tip-reopen:focus-visible,.card-tip-dismiss:focus-visible { outline:2px solid #00625c; outline-offset:2px; }
.card-tip-reopen[hidden] { display:none; }
@media(max-width:480px){ .card-flip-hint { padding:14px; gap:10px; } }
.card .flip:focus-visible { outline:3px solid #d0a553; outline-offset:2px; background:var(--card-surface); color:#184a45; }
.card:has(.flip:focus-visible) { outline:2px solid #b98932; outline-offset:2px; }
@media (hover:hover) and (pointer:fine) {
 .card { transition:transform 160ms ease,outline-color 160ms ease; }
 .card:hover:not(.is-turning):not(:has(.profile:hover)) { transform:translateY(-3px); outline:2px solid #b98932; outline-offset:2px; }
 .card:hover:not(:has(.profile:hover)) .flip { color:#184a45; background:var(--card-surface); }
}
@media (prefers-reduced-motion:reduce) {
 .card { transition:none; }
 .card:hover:not(.is-turning):not(:has(.profile:hover)) { transform:none; }
}

/* Readable personal stories replace generic context on curated cards. */
.card .card-personal-facts { margin:0; display:grid; gap:13px; font-size:13px; line-height:1.5; }
.card .card-personal-facts>div { min-width:0; }
.card .card-personal-facts dt { margin:0 0 3px; font-size:12px; font-weight:700; color:inherit; }
.card .card-personal-facts dd { margin:0; color:var(--card-muted); overflow-wrap:anywhere; }
.card .back-copy:has(.card-personal-facts) { padding-bottom:8px; }
