/* IIMAS-CHCE — shared stylesheet */
/* Self-hosted fonts — drop the files into /fonts to activate (see fonts/README.txt).
   Until then the site uses high-quality system fallbacks. */
@font-face{font-family:'Spectral';font-weight:600;font-display:swap;
  src:url('../fonts/spectral-600.woff2') format('woff2'),url('../fonts/spectral-600.ttf') format('truetype')}
@font-face{font-family:'Spectral';font-weight:700;font-display:swap;
  src:url('../fonts/spectral-700.woff2') format('woff2'),url('../fonts/spectral-700.ttf') format('truetype')}
@font-face{font-family:'Source Sans 3';font-weight:400;font-display:swap;
  src:url('../fonts/sourcesans3-400.woff2') format('woff2'),url('../fonts/sourcesans3-400.ttf') format('truetype')}
@font-face{font-family:'Source Sans 3';font-weight:600;font-display:swap;
  src:url('../fonts/sourcesans3-600.woff2') format('woff2'),url('../fonts/sourcesans3-600.ttf') format('truetype')}
@font-face{font-family:'Source Sans 3';font-weight:700;font-display:swap;
  src:url('../fonts/sourcesans3-700.woff2') format('woff2'),url('../fonts/sourcesans3-700.ttf') format('truetype')}
@font-face{font-family:'Noto Naskh Arabic';font-weight:400;font-display:swap;
  src:url('../fonts/notonaskharabic-400.woff2') format('woff2'),url('../fonts/notonaskharabic-400.ttf') format('truetype')}
@font-face{font-family:'Noto Naskh Arabic';font-weight:700;font-display:swap;
  src:url('../fonts/notonaskharabic-700.woff2') format('woff2'),url('../fonts/notonaskharabic-700.ttf') format('truetype')}

:root{
  --ink:#2a231b;
  --ink-soft:#5b5142;
  --bg:#f7f4ec;
  --sand:#ece5d3;
  --card:#ffffff;
  --blue:#1e5f74;
  --blue-dark:#154654;
  --ochre:#b5822f;
  --maxw:1140px;
  --radius:10px;
  --ff-display:'Spectral',Georgia,'Palatino Linotype','Times New Roman',serif;
  --ff-body:'Source Sans 3','Segoe UI',system-ui,Tahoma,Arial,sans-serif;
}
html[lang="ar"]{
  --ff-display:'Noto Naskh Arabic','Sakkal Majalla','Traditional Arabic',Georgia,serif;
  --ff-body:'Noto Naskh Arabic','Sakkal Majalla','Segoe UI',Tahoma,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--ff-body);
  font-size:1.06rem;line-height:1.65}
img{max-width:100%;display:block}
a{color:var(--blue)}
h1,h2,h3,h4{font-family:var(--ff-display);line-height:1.2;color:var(--ink);margin:0 0 .5em}
h2{font-size:2rem;font-weight:600}
h3{font-size:1.35rem;font-weight:600}
p{margin:0 0 1em}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}

/* signature: stratigraphy bar — an excavation section in miniature */
.strata{height:9px;display:flex}
.strata span{flex:1}
.strata .s1{background:#8c6a3f}.strata .s2{background:#b5822f}.strata .s3{background:#d9c6a0}
.strata .s4{background:#6e4f2a}.strata .s5{background:#1e5f74}
.strata--thin{height:5px;max-width:120px;margin:0 0 26px}
html[dir="rtl"] .strata--thin{margin-left:auto;margin-right:0}
html[dir="ltr"] .strata--thin{margin-right:auto}

/* header / nav */
.topbar{background:var(--card);border-bottom:1px solid #e2dac7;position:sticky;top:0;z-index:50}
.topbar .wrap{display:flex;align-items:center;gap:18px;min-height:64px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.brand{font-family:var(--ff-display);font-weight:700;font-size:1.25rem;color:var(--ink);
  text-decoration:none;letter-spacing:.02em;line-height:1.1}
.brand small{display:block;font-family:var(--ff-body);font-weight:400;font-size:.68rem;
  color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase}
nav.mainnav{display:flex;gap:4px;flex-wrap:wrap;margin-inline-start:auto;align-items:center}
nav.mainnav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.94rem;
  padding:8px 11px;border-radius:6px}
nav.mainnav a:hover{background:var(--sand)}
nav.mainnav a[aria-current="page"]{color:var(--blue);box-shadow:inset 0 -3px 0 var(--ochre)}
.btn-donate{background:var(--ochre);color:#fff !important;border-radius:20px;padding:8px 18px !important}
.btn-donate:hover{background:#9a6d24 !important}

/* language dropdown */
.langbox{position:relative}
.langbox summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;
  padding:7px 10px;border:1px solid #d8cfba;border-radius:8px;background:var(--card);font-size:.9rem;font-weight:600}
.langbox summary::-webkit-details-marker{display:none}
.langbox summary::after{content:"▾";font-size:.75em;color:var(--ink-soft)}
.flag{width:26px;height:16px;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.langmenu{position:absolute;inset-inline-end:0;top:calc(100% + 6px);background:var(--card);
  border:1px solid #d8cfba;border-radius:10px;box-shadow:0 8px 24px rgba(42,35,27,.15);
  padding:6px;min-width:160px;z-index:60}
.langmenu a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;
  text-decoration:none;color:var(--ink);font-weight:600;font-size:.92rem}
.langmenu a:hover{background:var(--sand)}
.langmenu a[aria-current="true"]{background:var(--sand)}

/* hero */
.hero{position:relative;color:#fff;overflow:hidden}
.hero img.hero-img{width:100%;height:min(72vh,560px);object-fit:cover}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(15deg,rgba(20,16,11,.72) 15%,rgba(20,16,11,.25) 60%,rgba(20,16,11,.05))}
.hero .hero-text{position:absolute;inset-inline-start:0;bottom:0;width:100%}
.hero h1{color:#fff;font-size:clamp(2.1rem,5.5vw,3.6rem);font-weight:700;margin:0 0 .2em;text-shadow:0 2px 14px rgba(0,0,0,.45)}
.hero p.tag{color:#f2ecdd;font-size:clamp(1.02rem,2.2vw,1.3rem);max-width:34em;margin:0 0 1.3em;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.hero .hero-text .wrap{padding-bottom:44px}
.hero .cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.btn{display:inline-block;text-decoration:none;font-weight:700;border-radius:26px;
  padding:11px 24px;font-size:.98rem}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:var(--blue-dark)}
.btn-ghost{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.65)}
.btn-ghost:hover{background:rgba(255,255,255,.28)}
.btn-ochre{background:var(--ochre);color:#fff}
.btn-ochre:hover{background:#9a6d24}

/* page hero (inner pages) */
.pagehead{background:var(--sand);padding:44px 0 34px;border-bottom:1px solid #e0d7c2}
.pagehead h1{font-size:clamp(1.9rem,4vw,2.7rem);margin:0 0 .25em}
.pagehead p.lead{max-width:46em;color:var(--ink-soft);font-size:1.12rem;margin:0}
.eyebrow{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ochre);
  font-weight:700;margin:0 0 10px}
html[lang="ar"] .eyebrow{letter-spacing:.04em}

/* sections */
section.block{padding:56px 0}
section.block.alt{background:var(--sand)}
.lead{font-size:1.12rem}
.grid{display:grid;gap:26px}
.grid.cols3{grid-template-columns:repeat(3,1fr)}
.grid.cols2{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.grid.cols3{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.grid.cols3,.grid.cols2{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid #e6dfcd;border-radius:var(--radius);
  overflow:hidden;display:flex;flex-direction:column}
.card img{height:210px;object-fit:cover;width:100%}
.card .pad{padding:20px 22px 22px}
.card h3{margin-bottom:.35em}
.card p{color:var(--ink-soft);font-size:.98rem;margin:0}
.card .where{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ochre);font-weight:700;margin:0 0 6px}
html[lang="ar"] .card .where{letter-spacing:.03em}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media(max-width:820px){.pillars{grid-template-columns:1fr}}
.pillar{border-inline-start:4px solid var(--ochre);padding-inline-start:18px}
.pillar h3{margin-bottom:.3em}
.pillar p{color:var(--ink-soft);margin:0}

/* modules (What we do) */
.module{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;padding:44px 0;border-top:1px solid #e3dbc7}
.module:first-of-type{border-top:none}
.module .num{font-family:var(--ff-display);font-size:3rem;font-weight:700;color:var(--ochre);line-height:1;opacity:.85}
.module img{border-radius:var(--radius);box-shadow:0 10px 30px rgba(42,35,27,.14);width:100%;object-fit:cover;max-height:340px}
@media(max-width:820px){.module{grid-template-columns:1fr;gap:20px}}
.module p{color:var(--ink-soft)}

/* projects */
.project{display:grid;grid-template-columns:1.1fr .9fr;gap:38px;padding:48px 0;border-top:1px solid #e3dbc7;align-items:start}
.project:first-of-type{border-top:none}
.project.flip{grid-template-columns:.9fr 1.1fr}
@media(max-width:860px){.project,.project.flip{grid-template-columns:1fr}}
.project h2{font-size:1.7rem}
.project p{color:var(--ink-soft)}
.shots{display:grid;grid-template-columns:1fr 1fr;gap:12px;direction:ltr}
.shots img{border-radius:8px;width:100%;height:170px;object-fit:cover;box-shadow:0 6px 18px rgba(42,35,27,.13)}
.shots img.tall{grid-column:1 / -1;height:230px}
.badge{display:inline-block;background:var(--sand);border:1px solid #ddd3ba;border-radius:14px;
  padding:2px 12px;font-size:.8rem;font-weight:700;color:var(--ink-soft);margin-bottom:12px}

/* staff */
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:26px}
.person{background:var(--card);border:1px solid #e6dfcd;border-radius:var(--radius);padding:26px 22px;text-align:center}
.avatar{width:110px;height:110px;border-radius:50%;margin:0 auto 16px;display:flex;
  align-items:center;justify-content:center;font-family:var(--ff-display);font-size:2rem;
  font-weight:700;color:#fff;background:var(--blue);overflow:hidden}
.person:nth-child(3n+2) .avatar{background:var(--ochre)}
.person:nth-child(3n) .avatar{background:#6e4f2a}
.avatar img{width:100%;height:100%;object-fit:cover}
.person h3{margin-bottom:.15em;font-size:1.15rem}
.person .role{color:var(--blue);font-weight:700;font-size:.88rem;margin:0 0 .6em}
.person p{color:var(--ink-soft);font-size:.92rem;margin:0}

/* recognition strip */
.awards{display:grid;grid-template-columns:1fr 1fr;gap:26px}
@media(max-width:760px){.awards{grid-template-columns:1fr}}
.award{background:var(--card);border:1px solid #e6dfcd;border-radius:var(--radius);padding:24px 26px}
.award .year{font-family:var(--ff-display);font-size:1.7rem;font-weight:700;color:var(--ochre);margin:0 0 4px}
.award p{margin:0;color:var(--ink-soft)}

/* acknowledgements */
.acklist{columns:2;column-gap:44px;margin:0;padding:0;list-style:none}
@media(max-width:640px){.acklist{columns:1}}
.acklist li{padding:9px 0;border-bottom:1px solid #e3dbc7;break-inside:avoid}

/* donate */
.donatebox{background:var(--card);border:2px dashed var(--ochre);border-radius:var(--radius);
  padding:34px;text-align:center;font-size:1.05rem}
.donate-uses li{margin-bottom:.55em}

/* cta band */
.cta-band{background:var(--blue);color:#fff;padding:52px 0;text-align:center}
.cta-band h2{color:#fff}
.cta-band p{color:#dcebf0;max-width:40em;margin:0 auto 1.4em}

/* footer */
footer{background:var(--ink);color:#cfc6b6;padding:34px 0;margin-top:0;font-size:.92rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
footer a{color:#e8e0cf}
footer .langs a{margin-inline-start:14px}

/* gallery (posters) */
.posters{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:700px){.posters{grid-template-columns:1fr}}
.posters figure{margin:0}
.posters img{border-radius:8px;border:1px solid #e0d7c2;box-shadow:0 6px 18px rgba(42,35,27,.12)}
.posters figcaption{font-size:.85rem;color:var(--ink-soft);padding-top:8px;text-align:center}

@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
a:focus-visible,summary:focus-visible,.btn:focus-visible{outline:3px solid var(--ochre);outline-offset:2px}

/* new components: callout, one-sentence band, partners, footer logo, globe, tax note */
.callout{background:var(--card);border-inline-start:6px solid var(--ochre);border-radius:var(--radius);
  padding:26px 30px;box-shadow:0 6px 20px rgba(42,35,27,.08)}
.callout h2{margin-bottom:.35em}
.callout p{margin:0;font-size:1.15rem;color:var(--ink-soft)}
.onesent{background:var(--blue);color:#fff;padding:20px 0}
.onesent p{margin:0;font-size:1.15rem;font-weight:600;max-width:52em}
.partner{background:var(--card);border:1px solid #e6dfcd;border-radius:var(--radius);padding:24px 26px}
.partner h3{margin-bottom:.15em;font-size:1.5rem;color:var(--blue)}
.partner h3 a{text-decoration:none}
.partner .pname{font-weight:700;color:var(--ink);margin:0 0 .6em}
.partner p{color:var(--ink-soft);margin:0}
.logotile{background:var(--bg);border-radius:12px;padding:10px 14px;display:flex;align-items:center}
.logotile img{height:64px;width:auto}
footer .aboutlink{font-weight:700}
.globe{width:20px;height:20px;color:var(--blue)}
.taxnote{margin-top:26px;text-align:center;max-width:44em;margin-inline:auto;color:var(--ink-soft);
  background:var(--sand);border-radius:8px;padding:14px 20px;font-size:.95rem}
.privacylist li{margin-bottom:.6em}
.email{font-family:inherit}


/* project detail pages */
.plink{color:var(--ink);text-decoration:none}
.plink:hover{color:var(--blue);text-decoration:underline}
.btn-sm{padding:8px 18px;font-size:.9rem}
.prhero img{width:100%;max-height:480px;object-fit:cover;display:block}
.prhero.contain{background:var(--sand)}
.prhero.contain img{object-fit:contain;max-height:520px}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:0}
.fact{background:var(--card);border:1px solid #e6dfcd;border-radius:var(--radius);padding:16px 18px}
.fact dt{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ochre);font-weight:700;margin:0 0 4px}
html[lang="ar"] .fact dt{letter-spacing:.03em}
.fact dd{margin:0;font-weight:600}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:700px){.gallery{grid-template-columns:1fr}}
.gallery img{width:100%;height:230px;object-fit:cover;border-radius:8px;box-shadow:0 6px 18px rgba(42,35,27,.13)}
.videobox video{width:100%;border-radius:var(--radius);box-shadow:0 12px 34px rgba(42,35,27,.22);background:#000;display:block}
.posterfig{margin:0}
.posterfig img{width:100%;max-height:520px;object-fit:contain;background:var(--card);border:1px solid #e0d7c2;border-radius:8px;box-shadow:0 6px 18px rgba(42,35,27,.12)}
.posterfig figcaption{font-size:.85rem;color:var(--ink-soft);padding-top:8px;text-align:center}
.videobox figcaption{font-size:.9rem;color:var(--ink-soft);padding-top:10px;text-align:center}

