:root{--blue:#123e5a;--blue-2:#0b2e47;--sand:#c9955f;--sand-dark:#86521a;--sand-btn:#8a551c;--sand-soft:#eee0ce;--paper:#f7f5f0;--ink:#182c36;--muted:#4a575f;--line:#d9d6cf;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Cairo,Arial,sans-serif;line-height:1.85}a{text-decoration:none;color:inherit}img{max-width:100%;height:auto;display:block}figure{margin:0}.topbar{background:var(--blue-2);color:#e7edf0;padding:7px max(5vw,22px);font-size:12px;display:flex;justify-content:space-between}.container{width:min(1180px,90%);margin:auto}header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:10px;color:var(--blue);font-weight:800;font-size:17px;white-space:nowrap}.links{display:flex;gap:20px;font-size:13px;font-weight:600}.links a{border-bottom:2px solid transparent;padding:26px 0 22px}.links a:hover{color:var(--sand-dark);border-color:var(--sand-dark)}.menu{display:none;border:0;background:none;font-size:24px;color:var(--blue)}.hero{background:linear-gradient(110deg,var(--blue-2) 0 57%,#0f405d 57%);color:#fff;overflow:hidden}.hero-grid{min-height:525px;display:grid;grid-template-columns:1.15fr .85fr;align-items:start;padding:45px 0;gap:55px}.eyebrow{color:#f1c99e;font-size:12px;font-weight:700;letter-spacing:.5px}.hero h1{font:700 clamp(42px,6vw,76px)/1.05 Amiri,serif;margin:12px 0 18px}.hero h1 .hero-line{display:block}.hero p{max-width:580px;color:#dce7ed;font-size:16px;margin:0 0 28px}.hero p.hero-also-known{font-size:12px;color:#9fb3bc;margin:-16px 0 24px}.button{display:inline-block;background:var(--sand-btn);color:#fff;padding:11px 24px;font-weight:700;font-size:13px;border-radius:2px;transition:background .2s ease}.button:hover{background:#734514}.portrait-frame{margin:0;position:relative;justify-self:end;align-self:start;width:min(350px,100%);padding:13px;background:#ffffff21;border:1px solid rgba(255,255,255,.22);contain:paint layout}.portrait-frame img{width:100%;height:405px;aspect-ratio:350/405;object-fit:cover;filter:grayscale(18%);background:#1c3748;display:block}.photo-label{background:var(--sand-btn);color:#fff;padding:11px 16px;position:absolute;right:-22px;bottom:25px;font-size:13px;font-weight:700;box-shadow:0 4px 12px #00000026}.home-strip{background:var(--sand);padding:15px 0;color:var(--blue-2);font-weight:600}.home-strip .container{display:flex;gap:25px;justify-content:space-between;font-size:13px;color:var(--blue-2)}.home-strip strong{font-size:18px;color:#041a29;font-weight:800}section:not([class*=admin-]):not(.admin-page section){padding:82px 0}img[role=button]{cursor:pointer}img[role=button]:focus-visible{outline:3px solid var(--sand-dark);outline-offset:3px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:35px}.section-head h2,.section-head .section-title{font:700 42px/1.1 Amiri,serif;color:var(--blue);margin:6px 0 0}.section-head p{max-width:430px;color:var(--muted);font-size:14px;margin:0}.tiny{font-size:11px;color:var(--sand-dark);font-weight:800;letter-spacing:1px}.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}.latest{background:#fff}.story-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:18px}.story-card{border:1px solid var(--line);background:var(--paper);overflow:hidden}.story-card img{width:100%;height:190px;aspect-ratio:380/190;object-fit:cover;filter:sepia(12%);background:#ebe5db}.story-card img.portrait-image{object-fit:contain;object-position:center;background:#ebe5db}.story-card:first-child img{height:265px;aspect-ratio:380/265}.story-card .copy{padding:16px}.story-card h3{font:700 23px/1.25 Amiri;margin:4px 0 8px;color:var(--blue)}.story-card p{color:var(--muted);font-size:13px;margin:0}.story-card:first-child{grid-row:span 2}.story-card:first-child .copy{padding:21px}.story-card:first-child h3{font-size:31px}.profile{background:#fff}.profile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.profile-block{border-top:3px solid var(--sand);background:var(--paper);padding:20px}.profile-block h3{font:700 24px/1.25 Amiri,serif;color:var(--blue);margin:8px 0}.profile-block p{font-size:13px;color:var(--muted);margin:0}.full-bio{background:var(--paper)}.bio-sections{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;align-items:stretch}.bio-section{grid-column:span 6;background:#fff;border:1px solid var(--line);border-right:4px solid var(--sand);padding:22px 58px 22px 22px;position:relative;min-height:100%}.bio-section.bio-intro{grid-column:1/-1;border-right-color:var(--blue);padding:30px 70px 30px 32px;background:#fff}.bio-index{position:absolute;right:18px;top:22px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font:700 14px/1 Cairo,Arial,sans-serif}.bio-section.bio-intro .bio-index{top:30px;background:var(--sand-dark)}.bio-section h3{font:700 29px/1.25 Amiri,serif;color:var(--blue);margin:8px 0 12px}.bio-section.bio-intro h3{font-size:36px}.bio-section p{color:#313f47;font-size:14px;margin:0 0 10px}.bio-section ul{margin:10px 0 0;padding:0 20px 0 0;color:#313f47;font-size:14px}.bio-section li{margin:0 0 8px}.bio-section li::marker{color:var(--sand-dark)}.timeline{background:var(--sand-soft)}.timeline-list{border-right:2px solid var(--sand);padding-right:29px;display:grid;gap:24px}.time-item{display:grid;grid-template-columns:100px 1fr;gap:25px;position:relative}.time-item:before{content:"";position:absolute;right:-37px;top:12px;width:14px;height:14px;border:3px solid var(--sand-soft);border-radius:50%;background:var(--blue)}.time-year{font:700 28px Amiri;color:var(--blue-2)}.time-item h3{margin:0;color:var(--blue);font-size:18px}.time-item p{margin:5px 0 0;font-size:13px;color:#313f47}.stances{background:#fff}.stance-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:3px solid var(--blue)}.stance{padding:26px 25px;border-left:1px solid var(--line)}.stance:last-child{border:0}.stance-no{font:700 37px Amiri;color:var(--sand-dark)}.stance h3{font:700 25px Amiri;margin:5px 0;color:var(--blue)}.stance p{font-size:13px;color:var(--muted);margin:0}.archive-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}.archive-photo{position:relative}.archive-photo img{width:100%;height:390px;aspect-ratio:580/390;object-fit:cover;border:9px solid #fff;box-shadow:0 12px 28px #19252d24;background:#ebe5db}.archive-photo img.portrait-image{object-fit:contain;object-position:center;background:#ebe5db}.archive-caption{position:absolute;bottom:18px;right:18px;background:var(--blue);color:#fff;padding:12px 18px;font-size:13px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:17px}.filter{border:1px solid var(--line);background:transparent;color:var(--blue);padding:7px 14px;font-family:inherit;font-size:12px;cursor:pointer}.filter.active,.filter:hover{background:var(--blue);color:#fff}.archive-list{border-top:1px solid var(--line)}.archive-item{padding:16px 8px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;transition:background-color .2s ease,padding .2s ease}.archive-item.archive-link{text-decoration:none;cursor:pointer}.archive-item.archive-link:hover{background:#002b3d0a;padding-inline:14px}.archive-item.archive-link:hover h2{text-decoration:underline;color:var(--sand)}.archive-item h2{font-size:15px;margin:0;color:var(--blue);transition:color .2s ease}.archive-item span{font-size:12px;color:var(--muted)}.archive-actions-cell{display:flex;align-items:center;gap:10px}.archive-preview-btn{background:transparent;border:1px solid var(--line);color:var(--blue);padding:5px 10px;border-radius:3px;font-size:12px;cursor:pointer;font-family:inherit;transition:all .2s ease}.archive-preview-btn:hover{background:var(--blue);color:#fff}.archive-action-icon{font-size:13px;font-weight:700;color:var(--blue);display:inline-flex;align-items:center;gap:3px;transition:transform .2s ease}.archive-item.archive-link:hover .archive-action-icon{transform:translate(-3px)}.archive-icon-dim{color:var(--muted);font-size:16px}.stories{background:var(--blue-2);color:#fff}.stories .section-head h2,.stories .section-head .section-title{color:#fff}.stories .section-head p{color:#d5e1e5}.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.quote{border:1px solid #ffffff2b;padding:28px}.quote:before{content:"\201c";font:56px/0 Amiri;color:var(--sand)}.quote p{font:400 24px/1.6 Amiri;margin:18px 0;color:#f4f1ea}.quote small{color:#dbc9b7}.photo-archive{background:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.gallery-item{background:var(--paper);border:1px solid var(--line);overflow:hidden;cursor:pointer}.gallery-item img{width:100%;height:235px;aspect-ratio:270/235;object-fit:cover;filter:sepia(8%);transition:transform .25s ease,filter .25s ease;background:#ebe5db}.gallery-item img.portrait-image{object-fit:contain;object-position:center;background:#ebe5db}.gallery-item:hover img{transform:scale(1.035);filter:sepia(0)}.gallery-item figcaption{padding:12px 14px;color:var(--blue);font-size:13px;font-weight:700}.gallery-item.featured{grid-column:span 2}.gallery-item.featured img{height:330px;aspect-ratio:560/330}.family{background:#fff}.tree{background:var(--paper);padding:30px;overflow:auto}.root{margin:auto;background:var(--blue);color:#fff;min-width:205px;max-width:280px;text-align:center;padding:14px;font-weight:700;border-radius:4px}.root-name{display:block;font-size:16px}.root-rel{display:block;font-size:12px;color:var(--sand);margin-top:3px;font-weight:400}.trunk{height:28px;width:2px;background:var(--sand);margin:auto}.branches{display:flex;min-width:700px;justify-content:center;gap:20px;border-top:2px solid var(--sand);padding-top:28px}.branch{flex:1;min-width:180px;text-align:center;position:relative}.branch:before{content:"";position:absolute;top:-30px;right:50%;height:29px;width:2px;background:var(--sand)}.person{background:#fff;border:1px solid var(--line);padding:14px;color:var(--blue);font-weight:700;border-radius:4px;box-shadow:0 2px 5px #0000000a}.person-name{display:block;font-size:14px}.person small,.person-rel{display:block;font-weight:400;color:var(--muted);font-size:11px;margin-top:4px}.sub-tree{margin-top:0;position:relative}.sub-trunk{height:20px;width:2px;background:var(--sand);margin:auto}.sub-branches{display:flex;justify-content:center;gap:12px;border-top:1px dashed var(--sand);padding-top:16px;flex-wrap:wrap}.sub-branch{position:relative;flex:1;min-width:120px;text-align:center}.sub-branch:before{content:"";position:absolute;top:-17px;right:50%;height:16px;width:1px;background:var(--sand)}.sub-person{background:#f8fafb;border:1px solid #d4dfe4;padding:8px;color:var(--blue);font-size:12px;font-weight:700;border-radius:3px}.contribute{background:var(--sand-soft)}.contribute-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:55px;align-items:center}.contribute h2,.contribute .section-title{font:700 45px/1.2 Amiri;color:var(--blue);margin:10px 0}.contribute p{color:#313f47}.form{background:#fff;padding:25px;border-top:4px solid var(--blue)}.form-group{margin-bottom:12px}.field{width:100%;border:1px solid var(--line);padding:11px;margin-bottom:4px;background:#fff;font-family:inherit;box-sizing:border-box}.field.invalid{border-color:#c93b2b!important;background:#fff8f7}.field-error{color:#c93b2b;font-size:12px;display:block;margin-top:2px;margin-bottom:8px;font-weight:600}.form textarea{min-height:95px;resize:vertical}.submit-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:140px;position:relative}.spinner{width:14px;height:14px;border:2px solid #ffffff40;border-top-color:#fff;border-radius:50%;display:inline-block;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.notice-box{padding:12px 16px;border-radius:4px;margin-top:14px;font-size:13px;font-weight:700}.notice-success{background:#e2f3eb;color:#1e7253;border:1px solid #bce3cf}.notice-error{background:#fbeae8;color:#9f3526;border:1px solid #f3c2bc}.notice{display:none;margin-top:12px;color:#1e7253;font-size:13px;font-weight:700}footer{background:var(--blue-2);color:#cbd9df;padding:48px 0 20px}footer h2{color:#fff;font:700 28px Amiri;margin:0 0 10px}.footer-grid{display:flex;justify-content:space-between;gap:30px}.footer-grid p{font-size:13px;max-width:500px}.footer-links{display:flex;gap:15px;flex-wrap:wrap;align-content:center;font-size:12px}.copyright{border-top:1px solid #ffffff28;margin-top:25px;padding-top:15px;font-size:11px;color:#91a6b1}.modal{display:none;position:fixed;inset:0;background:#00151de6;z-index:40;place-items:center;padding:20px}.modal.open{display:grid}.modal img{max-height:85vh;max-width:90vw}.close{position:absolute;top:20px;left:25px;background:transparent;border:0;color:#fff;font-size:32px;cursor:pointer}@media (max-width:760px){.topbar{font-size:10px}.links{display:none}.links.open{position:absolute;display:flex;flex-direction:column;right:0;left:0;top:81px;background:#fff;padding:14px 5%;gap:0;box-shadow:0 8px 15px #0002}.links.open a{padding:10px}.menu{display:block}.hero{background:var(--blue-2)}.hero-grid,.archive-layout,.contribute-grid{grid-template-columns:1fr;gap:28px}.hero-grid{padding:42px 0}.portrait-frame{justify-self:center;align-self:start;width:270px;margin:0 auto}.portrait-frame img{width:100%;height:312px;aspect-ratio:270/312;display:block}.photo-label{right:0;bottom:15px}.hero h1{font-size:52px}.story-grid,.stance-grid,.quote-grid,.gallery-grid,.profile-grid,.bio-sections{grid-template-columns:1fr}.bio-section,.bio-section.bio-intro{grid-column:auto;padding:22px 56px 22px 18px}.bio-section.bio-intro h3{font-size:31px}.gallery-item.featured{grid-column:auto}.gallery-item.featured img,.gallery-item img{height:260px}.story-card:first-child{grid-row:auto}.story-card:first-child img,.story-card img{height:230px}.stance{border-left:0;border-bottom:1px solid var(--line)}.home-strip .container{gap:9px}.home-strip span{font-size:10px}.time-item{grid-template-columns:75px 1fr;gap:10px}.section-head{display:block}.section-head p{margin-top:16px}.footer-grid{display:block}.footer-links{margin-top:20px}.archive-photo img{height:310px}}.admin-page{min-height:100vh;background:#eef1f3;color:var(--ink);font-family:Cairo,Arial,sans-serif}.admin-login{min-height:100vh;display:grid;place-items:center;padding:24px}.admin-card,.admin-panel{background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);padding:26px}.admin-card{width:min(420px,100%)}.admin-card h1,.admin-panel h1{font:700 34px/1.2 Amiri,serif;color:var(--blue);margin:8px 0 20px}.admin-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.admin-sidebar{background:var(--blue-2);color:#fff;padding:24px;position:sticky;top:0;height:100vh;overflow:auto}.admin-sidebar h2{font:700 28px Amiri,serif;margin:0}.admin-sidebar small{display:block;color:#b7c8d1;margin:0 0 18px}.admin-sidebar button,.admin-sidebar a{width:100%;display:block;text-align:right;border:0;background:transparent;color:#e7edf0;padding:10px 12px;margin:3px 0;font-family:inherit;cursor:pointer}.admin-sidebar button.active,.admin-sidebar button:hover,.admin-sidebar a:hover{background:#ffffff16;color:#fff}.admin-sidebar .logout{margin-top:18px;background:#c9955f;color:#fff}.admin-content{padding:26px;display:grid;gap:18px;align-content:start}.admin-panel{display:grid;gap:10px}.admin-list{border:1px solid var(--line);background:var(--paper);padding:15px;margin-top:10px;display:grid;gap:8px}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-actions .button,.admin-actions .ghost{border:0;padding:9px 14px;font-family:inherit;cursor:pointer}.ghost{background:#dfe5e8;color:var(--blue)}.admin-alert{padding:11px 14px;font-size:13px;font-weight:700}.admin-alert.ok{background:#e2f3eb;color:#1e7253}.admin-alert.error,.admin-error{background:#f8e5e0;color:#9f3526;padding:10px}.admin-thumb{width:115px;height:80px;object-fit:cover;border:1px solid var(--line)}.upload-field{display:grid;gap:8px;border:1px dashed #9fb1bb;background:#f8fafb;color:var(--blue);padding:13px;font-size:13px;font-weight:700;cursor:pointer}.upload-field input{font-family:inherit;color:var(--ink);cursor:pointer}@media (max-width:850px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto}.admin-content{padding:16px}}
