/* =========================================================================
   Common project detail design — shared by every /projects/<slug>/ page.
   Uses design tokens and utility classes already defined in /css/global.css
   (.container, .section, .dark-section, .white-section, .button*,
   .section-kicker, .reveal, .sr-only) rather than redefining them.
   A project can still receive a one-off override via /projects/overrides/
   (see server.js + projects/overrides/README.txt) — nothing here assumes
   it is the only stylesheet that will ever apply to a project page.
========================================================================= */
:root{
  /* Arabic project content on this page should prefer Cairo, then Tajawal.
     This only redefines the *value* of the existing --font-arabic token
     (declared in css/global.css); the global .text-arabic / [lang="ar"]
     rule that consumes it is untouched. */
  --font-arabic:"Cairo","Tajawal",Arial,sans-serif;
}

/* ============ HERO ============ */
.project-hero{position:relative;isolation:isolate;overflow:hidden;padding:calc(var(--header-height) + 8px) 0 148px}
.project-hero__media{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:.55;transform:scale(1.05);animation:projectHeroZoom 15s ease-out both}
@keyframes projectHeroZoom{from{transform:scale(1.1)}to{transform:scale(1.02)}}
.project-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(880px 520px at 15% 0%,rgba(2,166,221,.24),transparent 60%),
  linear-gradient(180deg,rgba(2,10,21,.5) 0%,rgba(2,10,21,.84) 62%,var(--navy-950) 100%)}
.project-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#a9c1d1;font-size:.72rem;font-weight:600}
.project-breadcrumbs a{border-bottom:1px solid transparent;color:#cfe3ee;transition:border-color .2s,color .2s}
.project-breadcrumbs a:hover{color:#fff;border-color:currentColor}
.project-breadcrumbs b{color:#fff;font-weight:700}
.project-badges{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px}
.project-badge{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.06);backdrop-filter:blur(10px);color:#e7f3f9;font-size:.66rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.project-badge svg{width:14px;height:14px;flex:0 0 auto;stroke:var(--cyan-300)}
.project-badge--accent{background:var(--gradient);border-color:transparent;color:#fff}
.project-badge[hidden]{display:none}
.project-hero h1{margin:22px 0 0;max-width:920px;color:#fff;font-size:clamp(2.2rem,5vw,4.3rem);line-height:1.05;letter-spacing:-.03em}
.project-hero__summary{margin:20px 0 0;max-width:680px;color:#c7dbe6;font-size:clamp(.95rem,1.3vw,1.08rem);line-height:1.65}
.project-hero .hero-actions{margin-top:32px}
.project-hero .hero-actions .button[hidden]{display:none}
.project-hero .hero-actions .button svg{width:16px;height:16px;flex:0 0 auto}

/* ============ QUICK FACTS (overlaps hero bottom edge) ============ */
.project-quickfacts-wrap{position:relative;z-index:5;margin-top:-104px}
.project-quickfacts[hidden]{display:none}
.project-quickfacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border-radius:var(--radius-lg);overflow:hidden;background:#fff;box-shadow:0 30px 80px rgba(4,20,34,.24)}
.project-quickfacts__item{padding:24px 26px;display:flex;flex-direction:column;gap:10px;border-inline-end:1px solid var(--border-light)}
.project-quickfacts__item:last-child{border-inline-end:0}
.project-quickfacts__icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(150deg,#e7f7fd,#d7eef7);color:var(--blue-600)}
.project-quickfacts__icon svg{width:19px;height:19px}
.project-quickfacts__label{color:#7490a0;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.project-quickfacts__value{color:var(--ink);font-family:var(--font-heading);font-weight:700;font-size:.96rem;line-height:1.35}

/* ============ IN-PAGE SUBNAV ============ */
.project-subnav-sentinel{height:1px}
.project-subnav{position:sticky;top:var(--sticky-header-height);z-index:15;margin-top:34px;background:rgba(246,250,252,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--border-light);transition:box-shadow .25s}
.project-subnav.is-stuck{box-shadow:0 12px 30px rgba(9,42,66,.08)}
.project-subnav__inner{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:13px 0}
.project-subnav__inner::-webkit-scrollbar{display:none}
.project-subnav a{flex:0 0 auto;padding:9px 16px;border-radius:999px;color:#5c7688;font-size:.75rem;font-weight:800;white-space:nowrap;transition:background .2s,color .2s}
.project-subnav a[hidden]{display:none}
.project-subnav a:hover{color:var(--blue-600);background:#eaf6fb}
.project-subnav a.is-active{color:#fff;background:var(--blue-600)}

/* ============ STORY ============ */
#project-story,#project-gallery,#project-results,#project-cta{scroll-margin-top:calc(var(--sticky-header-height) + 64px)}
.project-story-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:64px;align-items:start}
.project-story h2{margin-top:12px;font-size:clamp(1.8rem,3.2vw,2.6rem)}
.project-prose{margin-top:26px;color:var(--ink-soft);font-size:1.02rem;line-height:1.85;white-space:pre-line}
.project-prose p{margin:0 0 20px}
.project-prose p:first-of-type:not(.text-arabic):not(.text-mixed-bidi)::first-letter{float:left;margin:4px 10px 0 0;color:var(--blue-600);font-family:var(--font-heading);font-weight:800;font-size:3.4rem;line-height:.82}
.project-prose:empty::before{content:"Project story will be added soon.";color:#8098a9}
.project-prose[data-collapsed]{max-height:620px;overflow:hidden;position:relative;margin-bottom:0}
.project-prose[data-collapsed]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:130px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff)}
.project-read-more{margin-top:18px;display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:var(--blue-600);font-family:var(--font-heading);font-weight:800;font-size:.82rem;cursor:pointer}
.project-read-more:hover{color:var(--cyan-500)}
.project-read-more svg{width:14px;height:14px;transition:transform .2s}
.project-read-more[aria-expanded="true"] svg{transform:rotate(180deg)}
.project-aside{position:sticky;top:calc(var(--sticky-header-height) + 84px);display:grid;gap:20px}
.project-aside-card[hidden]{display:none}
.project-aside-card{padding:26px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-light)}
.project-aside-card h3{margin:0 0 16px;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:#7490a0}
.project-aside-links{display:grid;gap:10px}
.project-aside-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border-light);border-radius:10px;color:var(--blue-600);font-weight:800;font-size:.78rem;transition:border-color .2s,background .2s}
.project-aside-links a:hover{border-color:var(--cyan-500);background:#f2fbfe}
.project-aside-cta{padding:26px;border-radius:var(--radius-md);background:linear-gradient(155deg,var(--navy-900),#0a3a5c);color:#fff}
.project-aside-cta h3{margin:0;font-size:1.02rem;color:#fff;text-transform:none;letter-spacing:0}
.project-aside-cta p{margin:10px 0 18px;color:#b9d3e0;font-size:.8rem;line-height:1.6}

/* ============ REEL / SOCIAL MEDIA EMBED ============ */
.project-reel{position:relative;border-radius:var(--radius-sm);overflow:hidden;background:#0c2740}
.project-reel[data-orientation="portrait"]{aspect-ratio:9/16}
.project-reel[data-orientation="square"]{aspect-ratio:4/5}
.project-reel iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.project-reel__card{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;color:#fff;background-size:cover;background-position:center;cursor:pointer;border:0}
.project-reel__card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,15,27,.55),rgba(4,15,27,.82))}
.project-reel__badge{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.project-reel__badge svg{width:14px;height:14px}
.project-reel__play{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.95);color:#0a2137;box-shadow:0 14px 30px rgba(0,0,0,.35);transition:transform .2s}
.project-reel__card:hover .project-reel__play,.project-reel__card:focus-visible .project-reel__play{transform:scale(1.08)}
.project-reel__play svg{width:20px;height:20px;margin-inline-start:2px}
.project-reel__caption{margin:0;font-size:.68rem;font-weight:700;color:rgba(255,255,255,.85)}
.project-reel__link{display:inline-flex;align-items:center;gap:7px;margin-top:14px;color:var(--blue-600);font-weight:800;font-size:.74rem}
.project-reel__link[hidden]{display:none}

/* ============ GALLERY ============ */
.project-gallery-section[hidden]{display:none}
.project-gallery-head p{max-width:440px;margin:12px 0 0;color:#7490a0;font-size:.85rem}
.project-gallery-grid{margin-top:36px;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:150px;gap:14px}
.project-gallery-tile{position:relative;overflow:hidden;border:0;padding:0;border-radius:var(--radius-md);background:#0c2740;cursor:pointer}
.project-gallery-tile:nth-child(1){grid-column:span 2;grid-row:span 2}
.project-gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.project-gallery-tile:hover img,.project-gallery-tile:focus-visible img{transform:scale(1.06)}
.project-gallery-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(3,15,26,.72));opacity:0;transition:opacity .3s}
.project-gallery-tile:hover::after,.project-gallery-tile:focus-visible::after{opacity:1}
.project-gallery-tile__expand{position:absolute;top:12px;inset-inline-end:12px;z-index:2;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(6,22,43,.55);color:#fff;backdrop-filter:blur(6px)}
.project-gallery-tile__expand svg{width:15px;height:15px}
.project-gallery-more{position:absolute;inset:0;z-index:3;display:grid;place-items:center;background:rgba(4,15,27,.7);color:#fff;font-family:var(--font-heading);font-weight:800;font-size:1.25rem}
.project-gallery-tile:focus-visible{outline:3px solid var(--cyan-500);outline-offset:3px}

/* ============ RESULTS ============ */
.project-results[hidden]{display:none}
.project-results{padding:90px 0;position:relative;overflow:hidden;isolation:isolate}
.project-results::before{content:"";position:absolute;z-index:-1;width:600px;height:600px;inset-inline-end:-200px;top:-250px;border-radius:50%;background:radial-gradient(circle,rgba(2,166,221,.22),transparent 68%)}
.project-results .section-kicker{color:var(--cyan-300)}
.project-results-grid{max-width:820px}
.project-results__mark{width:44px;height:32px;margin-top:16px;color:var(--cyan-500)}
.project-results blockquote{margin:16px 0 0;color:#fff;font-weight:700;font-size:clamp(1.25rem,2.4vw,1.8rem);line-height:1.48;letter-spacing:-.01em;white-space:pre-line}

/* ============ CLOSING CTA ============ */
.project-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.project-cta h2{margin:10px 0 0;max-width:600px;font-size:clamp(1.6rem,3vw,2.3rem)}
.project-cta p{margin:14px 0 0;max-width:520px;font-size:.88rem}

/* ============ LIGHTBOX ============ */
.project-lightbox[hidden]{display:none}
.project-lightbox{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;background:rgba(3,10,19,.94);backdrop-filter:blur(6px)}
.project-lightbox__stage{position:relative;width:min(1100px,92vw);max-height:88vh}
.project-lightbox__frame{position:relative;border-radius:14px;overflow:hidden;background:#08151f;box-shadow:0 40px 90px rgba(0,0,0,.5)}
.project-lightbox__frame img{width:100%;max-height:74vh;object-fit:contain;background:#08151f}
.project-lightbox__caption{padding:16px 20px;display:flex;justify-content:space-between;gap:16px;border-top:1px solid rgba(255,255,255,.1);color:#d7e6ee;font-size:.82rem}
.project-lightbox__close,.project-lightbox__nav{position:absolute;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;transition:background .2s}
.project-lightbox__close:hover,.project-lightbox__nav:hover{background:rgba(255,255,255,.2)}
.project-lightbox__close{top:-58px;inset-inline-end:0}
.project-lightbox__close svg,.project-lightbox__nav svg{width:18px;height:18px}
.project-lightbox__nav--prev{inset-inline-start:-64px;top:38%}
.project-lightbox__nav--next{inset-inline-end:-64px;top:38%}

/* ============ ARABIC / RTL-AWARE CONTENT TYPOGRAPHY ============
   Only individual text elements switch direction (per store.applyLanguage),
   never the page chrome or layout — icons, grids and nav stay put. */
.text-arabic .project-prose,
.project-prose.text-arabic{line-height:1.9}
[dir="rtl"].project-hero__summary,[dir="rtl"] .project-quickfacts__value,[dir="rtl"] .project-badge span{text-align:start}
.project-aside-links a[dir="rtl"]{flex-direction:row-reverse}

/* ============ RESPONSIVE ============ */
@media(max-width:1080px){
  .project-story-grid{grid-template-columns:1fr}
  .project-aside{position:static}
}
@media(max-width:820px){
  .project-gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px}
  .project-gallery-tile:nth-child(1){grid-column:span 2;grid-row:span 1;aspect-ratio:16/9;height:auto}
  .project-lightbox__close{top:12px;inset-inline-end:12px;background:rgba(3,10,19,.6)}
  .project-lightbox__nav--prev{inset-inline-start:8px;top:auto;bottom:14px}
  .project-lightbox__nav--next{inset-inline-end:8px;top:auto;bottom:14px}
}
@media(max-width:640px){
  .project-hero{padding:calc(var(--header-height) + 8px) 0 128px}
  .project-quickfacts-wrap{margin-top:-84px}
  .project-quickfacts{grid-template-columns:1fr}
  .project-quickfacts__item{border-inline-end:0;border-bottom:1px solid var(--border-light)}
  .project-quickfacts__item:last-child{border-bottom:0}
  .project-hero .hero-actions .button{flex:1 1 auto;justify-content:center}
  .project-cta__inner{flex-direction:column;align-items:flex-start}
  .project-cta .button{width:100%;justify-content:center}
}
@media(max-width:480px){
  .project-gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:128px}
}
@media(prefers-reduced-motion:reduce){
  .project-hero__media{animation:none}
  .project-gallery-tile img{transition:none}
}
