/* Reading terrace and the three editorial phrases. */
.hero { min-height: max(100svh, 960px); }
.hero-media { inset: 0; background-image: url('../images/hero/reading-desktop.webp'); background-position: left center; animation: none; }
.hero-shade { background: linear-gradient(90deg, rgba(3,7,12,.08), rgba(3,8,15,.17) 40%, rgba(3,7,12,.76) 70%, rgba(3,7,12,.87)), linear-gradient(0deg, #05070b 0, transparent 17%, transparent 85%, rgba(3,7,12,.35)); }
.hero-content { width: min(760px, 51vw); }
.hero-edition { position: relative; width: fit-content; max-width: 100%; margin: 0 0 30px auto; padding: 13px 20px; border: 1px solid rgba(200,215,233,.36); border-radius: 2px; background: linear-gradient(110deg, rgba(197,213,231,.08), rgba(6,14,26,.62)); box-shadow: 0 12px 40px rgba(0,0,0,.16); }
.hero-edition::after { content: ''; position: absolute; bottom: -1px; right: 16%; width: 38%; height: 1px; background: #dce5f0; box-shadow: 0 0 14px rgba(208,222,240,.5); }
.hero-edition .ar { font-family: 'Amiri', Georgia, serif; font-size: clamp(17px,1.4vw,21px); letter-spacing: 0; line-height: 1.65; color: #e0e7ef; }
.hero-edition .en { font: 16px/1.6 'Cormorant Garamond', Georgia, serif; letter-spacing: .04em; color: #dae3ed; }
[data-language='en'] .hero-edition { margin-left: 0; margin-right: auto; }
.hero-thought { position: relative; padding: 17px 22px; border-inline-start: 1px solid #aebed2; border-block: 1px solid rgba(198,214,233,.12); background: linear-gradient(90deg, rgba(168,190,217,.05), rgba(6,14,25,.3)); }
.hero-thought .ar { color: #e0e6ec; font-size: clamp(21px,1.65vw,26px); line-height: 1.7; }
.hero-thought .en { color: #d2dce8; font: 21px/1.5 'Cormorant Garamond', Georgia, serif; }
.hero-quote { top: calc(var(--header-h) + 45px); bottom: auto; width: min(370px,28vw); padding: 22px 25px; border: 1px solid rgba(204,218,235,.24); border-inline-start: 2px solid #b9c9da; background: linear-gradient(125deg, rgba(6,14,24,.72), rgba(6,14,24,.29)); box-shadow: 0 16px 45px rgba(0,0,0,.16); backdrop-filter: blur(4px); }
.hero-quote::before { content: '“'; display: block; height: 27px; color: #b6c7dc; font: 48px/1 'Cormorant Garamond',Georgia,serif; }
.hero-quote .ar { font-size: 23px; line-height: 1.65; color: #e8edf3; }
.hero-quote .en { font: 20px/1.45 'Cormorant Garamond',Georgia,serif; color: #d3deea; }
.hero-quote cite { margin-top: 15px; padding-top: 11px; border-top: 1px solid rgba(208,221,236,.19); color: #aebed1; font-size: 18px; }

/* A distinct invitation beside the original preview. */
.world-actions { gap: 12px; }
.promise-button { min-width: 205px; gap: 10px; color: #e4eaf1; border-color: rgba(192,211,232,.52); background: linear-gradient(120deg, rgba(185,205,230,.12), rgba(5,14,24,.52)); box-shadow: inset 0 1px rgba(224,235,249,.06); }
.promise-button:hover { border-color: var(--accent, #ccd8e7); background: rgba(183,207,234,.15); }
.promise-button svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.15; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.promise-button .ui-ar { font-size: 16px; }
.promise-button .ui-en { font: 12px/1.4 Arial,sans-serif; letter-spacing: .02em; }
body.promise-open { overflow: hidden; }
.promise-dialog { overflow: hidden; padding: 0; width: min(740px, calc(100vw - 44px)); max-width: none; max-height: min(88svh,900px); border: 1px solid rgba(195,214,237,.4); color: #e8edf3; background: #09111c; box-shadow: 0 35px 130px rgba(0,0,0,.65); border-radius: 3px; }
.promise-dialog::backdrop { background: rgba(2,5,10,.81); backdrop-filter: blur(9px); }
.promise-panel { display: grid; grid-template-rows: auto minmax(0,1fr) auto; max-height: min(88svh,900px); background: radial-gradient(ellipse at 100% 0, rgba(54,82,116,.2), transparent 60%), #09111c; }
.promise-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 25px 32px 23px; border-bottom: 1px solid rgba(193,210,231,.19); }
.promise-kicker { margin: 0 0 8px; color: #8fa4bd; font-size: 13px; }
.promise-kicker .ui-en { font: 9px/1.4 Arial,sans-serif; letter-spacing: .23em; }
.promise-header h2 { margin: 0; font-family: 'Aref Ruqaa',Georgia,serif; font-size: 33px; font-weight: 400; line-height: 1.5; }
[data-language='en'] .promise-header h2 { font-family: 'Cormorant Garamond',Georgia,serif; font-size: 34px; }
.promise-close { display: grid; place-items: center; flex: 0 0 auto; width: 42px; height: 42px; padding: 0; border: 1px solid rgba(197,215,237,.3); border-radius: 50%; background: transparent; color: #dce5f0; font: 26px/1 Arial,sans-serif; cursor: pointer; }
.promise-close:hover { background: rgba(201,218,239,.12); }
.promise-close:focus-visible, .promise-button:focus-visible, .promise-preview:focus-visible { outline: 2px solid #dbe8f8; outline-offset: 4px; }
.promise-content { overflow-y: auto; padding: 25px 32px 10px; overscroll-behavior: contain; scrollbar-color: #5d718b #09111c; }
.promise-book { display: grid; gap: 4px; margin-bottom: 18px; }
.promise-book [lang='ar'] { font-size: 29px; line-height: 1.45; }
.promise-book [lang='en'] { font: 16px/1.4 'Cormorant Garamond',Georgia,serif; color: #a6b6c9; letter-spacing: .02em; }
[data-language='en'] .promise-book [lang='en'] { order: -1; font-size: 25px; color: #e8edf3; }
[data-language='en'] .promise-book [lang='ar'] { font-size: 20px; color: #a6b6c9; }
.promise-intro { margin: 0 0 11px; padding-bottom: 20px; color: #bdcad9; line-height: 1.8; font-size: 18px; border-bottom: 1px solid rgba(193,210,231,.16); }
.promise-intro [lang='en'] { font: 16px/1.75 Georgia,serif; }
.promise-list { list-style: none; padding: 0; margin: 0; }
.promise-list li { display: flex; gap: 22px; align-items: start; padding: 20px 0; border-bottom: 1px solid rgba(193,210,231,.14); }
.promise-list li:last-child { border-bottom: 0; }
.promise-number { direction: ltr; color: #8fa8c4; font: 23px/1.6 'Cormorant Garamond',Georgia,serif; flex: 0 0 27px; }
.promise-list p { margin: 0; font-size: 18px; line-height: 1.9; color: #e0e7ee; }
.promise-list [lang='en'] { font: 16px/1.8 Georgia,serif; }
.promise-footer { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 19px 32px; border-top: 1px solid rgba(193,210,231,.22); background: rgba(5,11,19,.7); }
.promise-preview { min-width: 180px; font-size: 16px; }
.promise-preview .ui-en { font: 12px/1.5 Arial,sans-serif; }
.promise-footer-note { color: #93a6be; font-size: 14px; line-height: 1.6; }
.promise-footer-note .ui-en { font: 12px/1.65 Georgia,serif; }

@media (min-width: 981px) and (max-width: 1180px) {
  .hero-content { width: 53vw; }
  .hero-quote { width: 30vw; padding: 20px; }
  .hero-quote .ar { font-size: 21px; }
  .hero-edition .ar { font-size: 17px; }
}
@media (max-width: 980px) {
  .hero { display: flex; flex-direction: column; align-items: stretch; min-height: 0; padding: clamp(490px,69vw,700px) 24px 100px; }
  .hero-media { inset: 0 0 auto; height: clamp(520px,72vw,720px); background-image: url('../images/hero/reading-mobile.webp'); background-position: left center; background-size: cover; }
  .hero-shade { background: linear-gradient(0deg,#05070b 0, #05070b calc(100% - 535px), rgba(3,7,12,.1) calc(100% - 360px), rgba(3,7,12,.1) 100%); }
  .hero-content { width: 100%; margin: 0; }
  .hero-edition { margin-bottom: 28px; padding: 12px 16px; }
  .hero-edition .ar { font-size: 18px; }
  .hero-edition .en { font-size: 16px; }
  .hero h1 .ar { font-size: clamp(54px,10vw,78px); line-height: 1.1; }
  .hero h1 .en { margin-top: 20px; font-size: clamp(25px,5vw,36px); }
  [data-language='en'] .hero h1 .en { font-size: clamp(52px,10vw,82px); }
  .hero-thought { margin-top: 30px; padding: 17px 19px; }
  .hero-thought .ar { font-size: 22px; }
  .hero-thought .en { font-size: 22px; }
  .hero-quote { position: relative; display: block; inset: auto; width: 100%; max-width: none; margin: 36px 0 10px; padding: 21px 24px; }
  .hero-quote .ar { font-size: 23px; }
  .hero-quote .en { font-size: 22px; }
  .hero-index { bottom: 35px; }
}
@media (max-width: 600px) {
  .promise-dialog { width: calc(100vw - 20px); max-height: 93svh; }
  .promise-panel { max-height: 93svh; }
  .promise-header { padding: 19px 20px; gap: 10px; }
  .promise-header h2 { font-size: 27px; }
  [data-language='en'] .promise-header h2 { font-size: 28px; }
  .promise-close { width: 36px; height: 36px; }
  .promise-content { padding: 22px 20px 7px; }
  .promise-book [lang='ar'] { font-size: 25px; }
  .promise-list li { gap: 14px; padding: 18px 0; }
  .promise-list p, .promise-intro { font-size: 17px; }
  .promise-list [lang='en'], .promise-intro [lang='en'] { font-size: 15px; }
  .promise-footer { flex-direction: column; gap: 11px; padding: 16px 20px; }
  .promise-preview { width: 100%; min-height: 49px; }
  .promise-footer-note { font-size: 13px; text-align: center; }
}
@media (prefers-reduced-motion: reduce) { .promise-dialog, .hero-media { animation: none; } }
