/* The architecture is the setting. This layer builds on the readable heritage base. */
:root{--courtyard-x:0px;--courtyard-y:0px;--portal-x:0px;--portal-y:0px;--portal-scale:1;--scene-y:0px;--scene-fade:0;--carving-turn:0deg}
body{isolation:isolate}
main,.site-footer{position:relative;z-index:1}
.courtyard-world{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:var(--paper);contain:strict}
.courtyard-distance{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;object-position:center;transform:translate3d(var(--courtyard-x),calc(var(--courtyard-y) + var(--scene-y)),0) scale(1.03);opacity:.83}
.courtyard-atmosphere{position:absolute;inset:0;background:linear-gradient(90deg,rgba(245,239,223,.12),rgba(245,239,223,.23) 23%,rgba(245,239,223,.55) 39%,rgba(245,239,223,.55) 62%,rgba(245,239,223,.23) 78%,rgba(245,239,223,.12));box-shadow:inset 0 -40px 60px -45px var(--paper)}
.courtyard-atmosphere::after{content:"";position:absolute;inset:0;background:var(--paper);opacity:var(--scene-fade)}
.courtyard-light{position:absolute;inset:-15%;background:radial-gradient(ellipse at 55% 22%,rgba(255,252,225,.4),transparent 44%);mix-blend-mode:soft-light;opacity:.8;transform:translate3d(var(--portal-x),var(--courtyard-y),0)}
.site-head{background:var(--paper);border-top-width:3px}
.site-head .wrap{--max:1280px}
/* A slimmer masthead, without shrinking its lettering or touch targets. */
.site-head .nav-row{min-height:64px}
/* A wide portal in the foreground, an actual separate transparent image. */
.hero{isolation:isolate;padding:76px 0 34px;overflow:clip;border:0;min-height:calc(100svh - var(--header-height));display:flex;align-items:center;background:linear-gradient(0deg,rgba(245,239,223,.2),transparent 30%)}
.portal-stage{position:absolute;inset:-2px -5% 0;z-index:-1;overflow:hidden;pointer-events:none;mask-image:linear-gradient(#000 85%,transparent)}
.portal-layer{display:block;width:100%;height:100%;object-fit:fill;transform-origin:center 20%;transform:translate3d(var(--portal-x),var(--portal-y),0) scale(var(--portal-scale));opacity:.92}
.hero-grid{display:block;max-width:720px;width:54%;position:relative;top:18px;text-align:center}
.hero-copy{isolation:isolate}
.hero-copy::before{content:"";position:absolute;z-index:-1;inset:-26px -70px -22px;background:radial-gradient(ellipse,rgba(245,239,223,.96) 38%,rgba(245,239,223,.79) 65%,transparent 75%);pointer-events:none}
.eyebrow{justify-content:center;margin-bottom:18px;font-size:18px;color:#765D30}
.hero h1{font-size:clamp(38px,3.75vw,57px);line-height:1.42;text-wrap:balance}
.hero h1 span{font-size:.91em}
.hero-lead{font-size:20px;line-height:1.8;margin:21px auto 12px;max-width:57ch}
.hero-context{font-size:17px;line-height:1.9;max-width:69ch;margin:0 auto 22px;color:#455346}
.hero-actions{justify-content:center}
.hero-path{margin-top:27px;padding-top:12px}
.hero-path a{justify-content:center;flex-direction:row;align-items:center}
.hero-path a+a{padding-inline-start:8px}
.hero-path strong{font-size:14px}
.hero-path a:last-child span{line-height:1.2}
.hero-panel{display:block;margin-top:22px;padding:0}
.hero-panel-copy{border:0;padding:0;text-shadow:0 1px 8px var(--paper)}
.hero-panel-copy::before,.hero-engraving,.hero-wordmark{display:none}
.hero-panel-copy small{font-size:13px;line-height:1.5}
.hero-panel-copy h2{font-size:20px;line-height:1.6;margin:2px 0}
.hero-panel-copy p{font-size:13px;line-height:1.8}
/* One continuous stone-and-paper atmosphere, from the entrance to the colophon. */
.courtyard-interior{position:relative;isolation:isolate}
.courtyard-interior::before{content:"";position:absolute;inset:-130px 0 0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(245,239,223,.12),rgba(245,239,223,.86) 15%,rgba(245,239,223,.95) 29%,rgba(245,239,223,.95) 71%,rgba(245,239,223,.86) 85%,rgba(245,239,223,.12));mask-image:linear-gradient(transparent,#000 230px,#000)}
.section{position:relative;padding-block:50px}
#activities,#projects,.publications,.method,.contact-section,.identity-section{background:none;border:0}
#activities{padding-top:34px;padding-bottom:48px}
.activities-head{max-width:720px;margin-bottom:30px}
.activity-grid{border:0;gap:0;align-items:start}
.activity{isolation:isolate;position:relative;border:0!important;padding:20px 32px 25px;text-align:right;background:none;transition:none}
.activity+.activity{border-inline-start:1px solid rgba(146,115,56,.29)!important}
.activity::before,.activity::after{display:none}
.activity-no{position:static;display:block;font-size:16px;color:var(--gold);margin-bottom:10px}
.activity-icon{width:38px;height:38px;margin:0 0 15px;color:var(--gold)}
.activity h3{font-size:30px;margin-bottom:12px;line-height:1.55}
.activity p{font-size:18px;color:#435246;line-height:1.95}
/* Six research folios: an open scholarly catalogue, with no enclosing UI panel. */
#projects{isolation:isolate;overflow:clip;padding-block:42px 28px}
#projects>.wrap{position:relative;display:block;max-width:1080px}
.catalogue-arch{display:none}
.projects-head{position:relative;top:auto;padding:0;text-align:center;max-width:680px;margin:0 auto 28px}
.projects-head::before{display:none}
.projects-head .section-kicker{justify-content:center}
.projects-head .section-kicker::after{display:block}
.projects-head .section-title{font-size:46px}
.projects-head .section-intro{font-size:18px;max-width:60ch;margin-inline:auto}
.project-filters{justify-content:center;margin-top:15px;gap:24px}
.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:72px;row-gap:0;position:relative;background:none;border:0;box-shadow:none}
.projects::before{content:"";position:absolute;top:22px;bottom:22px;left:50%;width:1px;background:linear-gradient(transparent,var(--line) 15%,var(--line) 85%,transparent);pointer-events:none}
.project{position:relative;padding:22px 0 25px;border:0;border-bottom:1px solid rgba(146,115,56,.32);background:none;box-shadow:none!important}
.project:last-child{border-bottom:1px solid rgba(146,115,56,.32)}
.project[open]{background:none}
.project summary{position:relative;grid-template-columns:40px minmax(0,1fr) 20px;grid-template-rows:auto auto;gap:0 14px;align-items:center;min-height:84px;padding:0 0 12px}
.project-no{grid-column:1;grid-row:1/3;display:grid;place-items:center;align-self:start;width:40px;height:48px;font-size:22px;font-weight:400;background:none;border:0!important;border-bottom:1px solid var(--gold)!important;color:var(--gold)!important}
.project summary h3{grid-column:2;grid-row:2;font-size:31px;line-height:1.55;font-weight:700;margin:2px 0 0}
.project-tag{display:block;grid-column:2;grid-row:1;color:#766441;font-size:14px;white-space:normal}
.project-plus{grid-column:3;grid-row:1/3;width:20px;height:20px;opacity:.65}
.project-body{padding:0 54px 0 0}
.project-body p{font-size:18px;line-height:1.95;color:#455346}
.project .text-link{font-size:17px;min-height:42px;margin-top:9px;gap:12px;border-bottom-color:rgba(146,115,56,.55)}
/* Books belong to the same pale carved arcade, not a separate dark theme. */
.publications{isolation:isolate;color:var(--green);padding-block:32px 46px;overflow:clip}
.publications::before,.publications::after{display:none}
.publications-head{display:flex;justify-content:center;align-items:center;gap:24px;margin-bottom:25px;text-align:center}
.publications-heading .section-kicker{justify-content:center}
.publications-heading .section-kicker::after{display:block}
.publications .section-title{font-size:46px;color:var(--green)}
.publications .section-intro{color:var(--ink-soft);font-size:18px}
.publications .section-kicker,.book-position{color:var(--gold)}
.publication-grid{padding:0 8px 10px;gap:34px;perspective:none}
.book,.book:nth-child(2),.book:nth-child(3){position:relative;isolation:isolate;min-height:410px;padding:75px 42px 38px;background:none;border:0;border-radius:0;box-shadow:none;transform:none;transition:none;color:var(--green);overflow:visible}
.book::before{content:"";position:absolute;inset:0 -8px 0;border:0;outline:0;background:url('assets/mamluk-portal-v1.webp') center top/100% 100% no-repeat;opacity:.47;z-index:-1;pointer-events:none;mask-image:linear-gradient(#000 18%,rgba(0,0,0,.6) 63%,transparent)}
.book::after{content:"";position:absolute;inset:62px 23px 16px;width:auto;border:0;z-index:-1;background:radial-gradient(ellipse,rgba(250,245,230,.84),rgba(250,245,230,.32) 65%,transparent 76%);pointer-events:none}
.book-type{color:var(--ink-soft);font-size:14px;position:relative;justify-content:center;gap:16px}
.book-soon{font-size:14px;border-color:rgba(146,115,56,.5)}
.book-glyph{position:relative;width:76px;height:76px;margin:18px auto 20px;font-size:54px;line-height:1;color:var(--green);background:none}
.book-glyph::before{content:"";position:absolute;inset:-5px;background:var(--ornament) center/contain;transform:rotate(var(--carving-turn));opacity:.3;pointer-events:none}
.book h3{font-size:31px;line-height:1.65;color:var(--green);margin:0 0 12px}
.book p{font-size:17px;line-height:1.95;color:#435246}
.book-navigation button{border-color:var(--gold);color:var(--green);background:rgba(245,239,223,.78)}
.book-position{color:var(--green);direction:ltr;unicode-bidi:isolate}
/* Continue the same room into the mission and formal information. */
.method{padding-top:28px}
.founder-note{border:0;padding:50px 60px 25px}
.founder-note::before{left:calc(50% - 28px);top:-5px;width:56px;height:56px;background:var(--ornament) center/contain;transform:rotate(var(--carving-turn))}
.founder-note::after{top:auto;bottom:0;left:26%;right:26%;width:auto;height:1px;background:var(--line)}
.founder-note blockquote{max-width:44ch;font-size:35px}
.method-list{padding-top:5px}
.contact-panel{background:rgba(251,247,236,.8)}
.identity-card{background:rgba(251,247,236,.94)}
.site-footer{isolation:isolate;overflow:clip}
.site-footer::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#102E26CC,#102E26F5 34%,#102E26F5 70%,#102E26CC),url('assets/mamluk-courtyard-v1.webp') center 75%/cover;opacity:.7}
/* Content never fades away during transitions; movement belongs to the architecture. */
body.motion-ready .activity,body.motion-ready .book{opacity:1;transition:none}
.motion-control{position:fixed;bottom:20px;left:20px;z-index:40;display:grid;place-items:center;width:42px;height:42px;padding:10px;border:1px solid #A18951;background:rgba(245,239,223,.97);color:var(--green);box-shadow:0 2px 12px #102E2622;cursor:pointer}
.motion-control svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}
.motion-control .motion-play{display:none}
.motion-control[aria-pressed=true] .motion-pause{display:none}
.motion-control[aria-pressed=true] .motion-play{display:block}
@media(hover:hover) and (pointer:fine){
  .book-navigation button:not(:disabled):hover{background:var(--paper-deep)}
  .motion-control:hover{background:#FBF7EC}
  .project summary:hover h3{color:#806632}
}
@media(min-width:1600px){.hero-grid{max-width:810px}.hero{padding-top:90px}.hero h1{font-size:62px}.hero-context{font-size:19px}.hero-panel{margin-top:30px}}
@media(max-width:1100px){
  .hero{padding-top:62px}.hero-grid{width:63%}.portal-stage{inset-inline:-13%}.hero h1{font-size:43px}.hero-lead{font-size:19px}.hero-context{font-size:17px}
  .activity{padding-inline:25px}.activity h3{font-size:28px}.activity p{font-size:17px}.projects{column-gap:50px}.project summary h3{font-size:29px}.project-body{padding-inline-start:54px;padding-inline-end:0}
  .publication-grid{gap:26px}.book{padding-inline:35px}.book h3{font-size:29px}
}
@media(max-width:850px){
  .site-head .nav-row{min-height:0;padding-block:9px 3px;row-gap:3px}
  .hero{padding-top:56px}.hero-grid{width:70%;max-width:650px}.portal-stage{inset-inline:-24%;opacity:.8}.hero h1{font-size:42px}.hero-copy::before{inset-inline:-35px}
  .hero-path a{flex-direction:column;gap:4px}.hero-path strong{font-size:14px}
  .activity-grid{gap:0}.activity{display:grid;padding:25px 12px;grid-template-columns:40px minmax(0,1fr);gap:6px 18px;text-align:right}
  .activity+.activity{border-inline-start:0!important;border-top:1px solid rgba(146,115,56,.29)!important}.activity-no{display:none}.activity-icon{grid-column:1;grid-row:1/3;width:36px;height:36px;margin:5px 0 0}.activity h3{font-size:28px}.activity p{font-size:17px}
  .projects-head .section-title{font-size:40px}.projects{column-gap:35px}.project-body{padding:0}.project summary{gap:0 10px;grid-template-columns:30px minmax(0,1fr) 18px}.project-no{width:29px;font-size:19px}.project summary h3{font-size:28px}
  .publication-grid{gap:24px}.book{flex-basis:calc(50% - 12px);min-height:410px;padding-inline:35px}.founder-note{padding-inline:25px}
}
@media(max-width:700px){
  .projects{display:block}.projects::before{display:none}.project{padding:15px 0}.project summary{grid-template-columns:34px minmax(0,1fr) 20px;min-height:74px;padding-bottom:0;gap:0 12px}.project[open] summary{padding-bottom:14px}.project-no{width:32px;height:43px;font-size:21px}.project summary h3{font-size:28px}.project-body{padding:0 46px 10px 0}.project-body p{font-size:17px}
}
@media(max-width:620px){
  .courtyard-distance{width:180%;max-width:none;inset:-3% -40%;height:106%;opacity:.62;object-position:center}
  .courtyard-atmosphere{background:linear-gradient(90deg,rgba(245,239,223,.28),rgba(245,239,223,.7) 25%,rgba(245,239,223,.7) 75%,rgba(245,239,223,.28))}
  .courtyard-interior::before{inset:-85px 0 0;background:linear-gradient(90deg,rgba(245,239,223,.3),rgba(245,239,223,.87) 15%,rgba(245,239,223,.93) 50%,rgba(245,239,223,.87) 85%,rgba(245,239,223,.3));mask-image:linear-gradient(transparent,#000 145px)}
  .hero{min-height:0;padding:47px 0 26px}.hero::before{display:none}.hero-grid{width:calc(100% - 58px);top:12px}.portal-stage{inset:0 -46% 0;opacity:.38}.portal-layer{mask-image:linear-gradient(#000,rgba(0,0,0,.4) 60%,transparent)}
  .hero-copy::before{inset:-10px -10px -18px;background:radial-gradient(ellipse,rgba(245,239,223,.91) 45%,rgba(245,239,223,.65) 73%,transparent)}
  .eyebrow{font-size:16px;gap:9px;margin-bottom:16px}.hero h1{font-size:35px;line-height:1.46}.hero h1 span{font-size:.94em}.hero-lead{font-size:18px;line-height:1.85;margin-top:16px}.hero-context{font-size:16px;line-height:1.9;margin-bottom:20px}
  .hero-actions{gap:13px}.hero-actions .btn{font-size:16px;padding-inline:12px}.hero-actions .btn-secondary{padding-inline:0}.hero-path{margin-top:24px}.hero-path strong{font-size:13px}.hero-path span{font-size:24px}.hero-path a:last-child span{font-size:18px}.hero-panel{display:none}
  .section{padding-block:36px}#activities{padding-block:26px 20px}.activities-head{margin-bottom:17px}.activity{padding:22px 8px;grid-template-columns:32px minmax(0,1fr);gap:8px 14px}.activity-icon{width:32px;height:32px}.activity h3{font-size:28px}
  #projects{padding-block:32px 22px}.projects-head{margin-bottom:18px}.projects-head .section-title{font-size:36px}.projects-head .section-intro{font-size:17px}.project summary h3{font-size:26px}.project-body{padding:0 10px 8px}.project-filters{margin-top:13px;gap:22px}
  .publications{padding-block:32px 25px}.publications-head{justify-content:space-between;text-align:right;gap:12px;margin-bottom:18px}.publications-heading .section-kicker{justify-content:flex-start}.publications-heading .section-kicker::after{display:none}.publications .section-title{font-size:36px}.publications .section-intro{font-size:16px}.publication-grid{padding:0 11px 8px;gap:26px}.book{flex-basis:89%;min-height:398px;padding:69px 38px 28px}.book::before{inset-inline:-8px}.book h3{font-size:29px}.book-glyph{margin-block:15px 16px}.book p{font-size:17px}
  .founder-note{padding:45px 0 24px}.founder-note blockquote{font-size:28px}.founder-note::before{width:42px;height:42px;left:calc(50% - 21px)}
  .motion-control{bottom:12px;left:12px;width:40px;height:40px}.site-footer{padding-bottom:55px}
}
@media(max-width:360px){.hero-grid{width:calc(100% - 36px)}.hero h1{font-size:31px}.hero-actions{gap:10px}.hero-actions .btn{font-size:15px;padding-inline:10px}.hero-actions .btn-secondary{padding-inline:0}.hero-path strong{font-size:12px}.hero-path a+a{padding-inline-start:5px}.book{padding-inline:31px}}
/* One still composition for system preference, user pause, and printing. */
html[data-motion=paused]{scroll-behavior:auto}
html[data-motion=paused] *,html[data-motion=paused] *::before,html[data-motion=paused] *::after{animation:none!important;transition:none!important}
html[data-motion=paused] .reveal-item{opacity:1!important}
html[data-motion=paused] .book{transform:none!important}
@media(prefers-reduced-motion:reduce){.book,.courtyard-distance,.portal-layer,.catalogue-arch,.publications::before{transform:none!important}.book-glyph::before,.founder-note::before,.activity::after{transform:none!important}}
@media print{.courtyard-world,.portal-stage,.motion-control,.catalogue-arch{display:none!important}.hero-grid{width:100%;max-width:none;top:0}.hero{min-height:0;padding:15px 0}.hero-copy::before,.courtyard-interior::before,.projects::before,.activity::before,.activity::after,.projects-head::before,.publications::after,.site-footer::before{display:none!important}.section,#projects,.method,.contact-section,.identity-section{background:white!important}#projects>.wrap,.projects{display:block}.project-body{padding:0}.projects-head{padding:0}.publications .section-title,.publications .section-intro{color:#111}.book{transform:none!important}.hero-panel{display:none}.site-footer{padding-bottom:20px}}
