/* ==========================================================================
   AL SHAA EL LIBI — Page-specific layout
   ========================================================================== */

/* ---- Generic page header (Story / Products / Our Work / Contact) ---- */
.page-header {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-9) var(--space-7);
}
.page-header__inner { position: relative; z-index: 1; max-inline-size: 720px; }
.page-header .arch-watermark {
  inset-inline-end: -80px;
  top: -60px;
  inline-size: 460px;
  block-size: 520px;
}
[dir="rtl"] .page-header .arch-watermark { inset-inline-end: -80px; }

/* ==========================================================================
   Home — Hero
   ========================================================================== */

.hero {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-8) var(--space-9);
}
.hero .arch-watermark {
  inset-inline-start: 50%;
  top: -40px;
  inline-size: 640px;
  block-size: 720px;
  transform: translateX(-50%);
}

.hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: var(--space-9);
  align-items: center;
}

.hero h1 { margin-block-end: var(--space-5); }
.hero .text-lead { max-inline-size: 52ch; margin-block-end: var(--space-2); }
.hero .text-lead + .text-lead { margin-block-start: var(--space-4); }

.hero__visual { position: relative; }
.hero__visual .arch-frame {
  aspect-ratio: 4 / 5;
  background: linear-gradient(180deg, var(--color-bg-alt) 0%, #eef1f6 100%);
}
.hero__visual-caption {
  position: absolute;
  bottom: var(--space-5);
  inset-inline-start: var(--space-5);
  inset-inline-end: var(--space-5);
  background: rgba(255, 255, 255, 0.94);
  border-radius: var(--radius-md);
  padding: var(--space-4) var(--space-5);
  box-shadow: var(--shadow-md);
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.hero__visual-caption p { font-size: var(--text-small); font-weight: 600; color: var(--color-heading); margin: 0; }

.hero-graphic text { direction: rtl; }
.hero-beam { stroke: var(--color-orange); stroke-width: 2.5; stroke-linecap: round; fill: none; }

@media (max-width: 1024px) {
  .hero__grid { grid-template-columns: 1fr; }
  .hero__visual { max-inline-size: 440px; margin-inline: auto; }
}

/* ---- Home: journey / what-we-do / statement spacing ---- */
.journey-section .section-head { max-inline-size: 620px; }

.statement--home { margin-block-start: 0; }

/* ==========================================================================
   Story page
   ========================================================================== */

.story-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-9);
  align-items: center;
}
.story-intro__media .arch-frame { aspect-ratio: 3 / 4; }
@media (max-width: 900px) {
  .story-intro { grid-template-columns: 1fr; gap: var(--space-6); }
  .story-intro__media { max-inline-size: 380px; margin-inline: auto; order: -1; }
}

.story-block {
  max-inline-size: 760px;
  margin-inline: auto;
  text-align: center;
}
.story-block + .story-block { margin-block-start: var(--space-9); }
.story-block .eyebrow { justify-content: center; }
.story-block h2 { margin-block-end: var(--space-4); }
.story-block p { color: var(--color-text); }

.idea-section .link-line { margin-block: var(--space-7); }

/* ==========================================================================
   Products page
   ========================================================================== */

.products-intro { max-inline-size: 720px; }

.products-cta-note { text-align: center; max-inline-size: 640px; margin-inline: auto; }

/* ==========================================================================
   Our Work page
   ========================================================================== */

.quality-section .section-head { max-inline-size: 640px; }
.quality-outro {
  margin-block-start: var(--space-7);
  color: var(--color-text);
  max-inline-size: 680px;
}

/* ==========================================================================
   Contact page
   ========================================================================== */

.contact-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: var(--space-9);
  align-items: start;
}
@media (max-width: 900px) {
  .contact-grid { grid-template-columns: 1fr; gap: var(--space-8); }
}

.contact-form-panel h2,
.contact-details-panel h2 { margin-block-end: var(--space-5); }

.contact-details-panel {
  padding-inline-start: var(--space-8);
  border-inline-start: 1px solid var(--color-border);
}
@media (max-width: 900px) {
  .contact-details-panel { padding-inline-start: 0; border-inline-start: none; padding-block-start: var(--space-7); border-block-start: 1px solid var(--color-border); }
}

.contact-details-panel .detail-list { margin-block-start: var(--space-6); }

.form-success {
  display: none;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-5);
  border-radius: var(--radius-md);
  background: var(--color-bg-alt);
  border: 1px solid var(--color-border);
  color: var(--color-heading);
  font-weight: 600;
  margin-block-end: var(--space-6);
}
.form-success.is-visible { display: flex; }
.form-success svg { color: var(--color-orange-text); inline-size: 24px; block-size: 24px; flex-shrink: 0; }
