/* Editorial typography: clear Arabic, one dominant message per section. */
:root {
  --body: 'Noto Sans Arabic', Arial, sans-serif;
  --hand: 'Aref Ruqaa', 'Noto Sans Arabic', serif;
  --english: 'Tajawal', Arial, sans-serif;
  --script: 'Tajawal', Arial, sans-serif;
  --ink: #172f3b;
  --muted: #46535b;
}
html { font-size: 106.25%; }
body { font-family: var(--body); font-size: 1.15rem; font-weight: 400; line-height: 1.95; }
body::before { opacity: .045; }
h1, h2, h3, h4 { font-family: var(--hand); color: var(--brand-navy); letter-spacing: 0; }
h1, h2, h3 { font-weight: 800; }
h1, h2, h3, p, li, summary { overflow-wrap: break-word; }
strong, b { font-weight: 700; }
.display-line { display: block; }
mark {
  color: inherit;
  background: linear-gradient(transparent 67%, #08e4ff48 67%, #08e4ff48 92%, transparent 92%);
  padding-inline: .045em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.hero-heading mark,
.difference-intro mark, .pricing-section mark, .final-section mark {
  background-image: linear-gradient(transparent 67%, #ffa90569 67%, #ffa90569 92%, transparent 92%);
}
.hero { padding-top: 22px; }
.campaign-name {
  font-family: var(--english);
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .12em;
  text-align: center;
  margin: 14px 0 33px;
  color: var(--brand-navy);
}
.campaign-name strong { font-weight: 800; }
.hero-layout { grid-template-columns: 1.1fr 1fr; gap: 35px; align-items: center; }
.hero-heading {
  font-family: var(--hand);
  font-size: clamp(2.7rem, 4.7vw, 4.1rem);
  line-height: 1.42;
  margin: 0;
  font-weight: 800;
}
.hero-note { font-size: 1rem; font-weight: 700; margin-bottom: 11px; }
.hero-description { font-size: 1.13rem; line-height: 1.95; margin: 22px 0 27px; color: var(--ink); }
.hero-art figcaption { font-family: var(--english); font-size: 1.08rem; font-weight: 700; line-height: 1.6; margin-top: 10px; }
.hero-art figcaption > span { font-size: 1.2rem; }
.hero-cta { font-size: 1rem; padding: 16px 22px; }
.hero-reassurance { font-size: 1rem !important; line-height: 1.85; gap: 8px; flex-wrap: wrap; }
.button { font-family: var(--body); font-size: 1rem; font-weight: 700; line-height: 1.75; max-width: 100%; white-space: normal; }
.button-small, .main-nav { font-size: 1rem; font-weight: 600; }
.values-line { font-family: var(--body); font-size: 1.12rem; font-weight: 700; gap: 22px; padding-block: 23px; }
.values-line i { font-size: .9rem; }
.section { padding-block: 85px; }
.chapter { font-size: 1rem !important; font-weight: 600; margin-bottom: 38px; }
.chapter > span:first-child { font-family: var(--english); font-size: 1.1rem; font-weight: 800; }
.eyebrow, .hero-eyebrow { font-size: 1rem !important; font-weight: 600; line-height: 1.8; color: var(--brand-navy); }
h2[id], #idea .problem-copy h2 {
  font-family: var(--hand);
  font-size: clamp(2.25rem, 4vw, 3.45rem);
  font-weight: 800;
  line-height: 1.48;
  letter-spacing: 0;
}
.center-heading { max-width: 870px; margin-bottom: 25px; }
.center-heading > p:not(.eyebrow) { font-size: 1.13rem; line-height: 1.95; color: var(--ink); margin-top: 23px; }
.handwritten { font-family: var(--hand); font-weight: 700; line-height: 1.85; }
.handwritten:not([dir='ltr']) { font-weight: 700; }
.handwritten[dir='ltr'] { font-family: var(--english); font-weight: 700; }
.marginal-note, .chapter-annotation, .card-footnote, .dialogue-caption,
.pricing-note, .scene-footnote, .final-note { transform: none; font-size: 1rem !important; line-height: 1.9; }
.problem-explanation { padding-top: 0; }
.problem-explanation > p:first-child { font-size: 1.13rem; color: var(--ink); }
.problem-art { max-width: 860px; }
.problem-art figcaption { align-items: center; padding-block: 20px 0; }
.focus-stat { display: flex; gap: 20px; align-items: center; min-width: 0; }
.focus-stat > strong { font-family: var(--english); font-size: 4rem; font-weight: 800; line-height: 1; color: var(--brand-navy); }
.focus-stat > span { font-size: 1.12rem; font-weight: 700; }
.focus-stat small { display: block; font-size: 1rem; font-weight: 400; margin-top: 2px; }
.stat-question { font-size: 1.15rem; font-weight: 700; color: var(--brand-navy); }
.lesson-quote p { font-size: 1.23rem; line-height: 2; font-weight: 500; }
.lesson-quote .handwritten { font-size: 1rem; }
.lesson-card h3, .journey-card h3 { font-size: 1.72rem; line-height: 1.7; }
.lesson-result { font-size: 1.16rem; font-weight: 700; }
.lesson-card p:last-child, .journey-card p, .pencil-list li,
.alternatives p, .methodology-list p, .included-list p, .lasting-value li,
.faq-answer { font-size: 1.06rem; line-height: 1.95; }
.card-index, .small-number, .journey-number { font-family: var(--english); font-weight: 800; }
.research { transform: none; }
#research-title { font-family: var(--hand); font-size: 1.85rem; line-height: 1.55; }
.research-number > span { font-family: var(--english); font-size: 5rem; font-weight: 800; line-height: 1.1; }
.research-number p { font-size: 1rem; line-height: 1.8; }
.research-copy > p:not(.eyebrow):not(.research-caveat) { font-size: 1.06rem; line-height: 1.95; }
.research-copy .research-caveat, .research-copy .text-link { font-size: 1rem !important; }
.comparison-table th { font-family: var(--body); font-size: 1.5rem; line-height: 1.8; font-weight: 800; }
.comparison-table th > span { font-size: 1rem; font-weight: 400; }
.comparison-table td { font-size: 1.06rem; line-height: 2; }
.journey-card { transform: none; }
.journey-card:nth-child(2), .journey-card:nth-child(3) { transform: none; }
.journey-card h3 { margin-top: 18px; }
.month-tag { font-size: 1rem; font-weight: 700; line-height: 1.8; }
.difference-intro { gap: 55px; }
.difference-intro p, .difference-intro .large-body { font-size: 1.12rem; line-height: 2; }
.alternatives h3 { font-size: 1.13rem; line-height: 1.8; }
.methodology-heading h3 { font-size: 2.2rem; line-height: 1.65; }
.methodology-list h4, .included-list strong { font-size: 1.1rem; line-height: 1.8; font-weight: 700; }
.dialogue-card blockquote { font-family: var(--hand); font-size: 1.48rem; line-height: 1.8; font-weight: 700; }
.dialogue-label { font-size: 1rem; font-weight: 600; }
.word-tags span { font-size: 1rem; line-height: 1.75; }
.guidance-layout h3 { font-size: 2.2rem; line-height: 1.65; }
.guidance-layout > div > p:not(.eyebrow), .fit-list li { font-size: 1.1rem; line-height: 2; }
.fit-section > div > .handwritten { font-size: 1rem; }
.price-card { transform: none; }
.price > strong { font-family: var(--body); font-size: 5.3rem; font-weight: 800; letter-spacing: 0; line-height: 1.5; }
.price-ribbon, .old-price, .price-savings, .price-savings small,
.booking-channel, .refund p { font-size: 1rem !important; line-height: 1.9; }
.price > span { font-size: 1.1rem; }
.price > span > small { font-size: 1rem; }
.daily-price { font-size: 1.15rem; }
.pricing-details > h3 { font-size: 1.6rem; line-height: 1.8; }
.faq-list summary { font-size: 1.1rem; line-height: 1.9; font-weight: 700; padding-block: 23px; }
.scene-label { font-size: 1rem; font-weight: 600; }
.scene h3, .scene-two h3 { font-size: 2rem; line-height: 1.7; }
.scene p { font-size: 1.08rem; line-height: 2; }
.final-section { padding-block: 75px; }
.final-section h2 { font-size: clamp(2.2rem, 4.4vw, 3.6rem); line-height: 1.6; }
.final-section > p:not(.handwritten) { max-width: 650px; font-size: 1.13rem; line-height: 1.95; margin-inline: auto; }
.final-section > small { font-size: 1rem !important; line-height: 1.9; }
.final-signature { font-family: var(--english); font-size: 1.22rem; font-weight: 700; line-height: 1.65; }
.site-footer > p, .site-footer .text-link { font-size: 1rem !important; line-height: 1.9; }

@media (max-width: 1000px) {
  .hero-layout { gap: 24px; }
  .hero-heading { font-size: 3rem; }
  .hero-cta { padding-inline: 14px; }
  .difference-intro { gap: 32px; }
  .journey-card { padding-inline: 20px; }
}
@media (max-width: 800px) {
  .hero-layout { gap: 27px; }
  .hero-copy { max-width: 660px; }
  .hero-heading { font-size: 3.25rem; }
  .hero-description { margin-inline: auto; max-width: 540px; }
  .hero-art { max-width: 630px; }
  .problem-intro { grid-template-columns: 1fr; gap: 23px; }
  .problem-explanation { max-width: 630px; }
  .journey-card { padding-inline: 30px; }
  .journey-card h3 { font-size: 1.85rem; }
}
@media (max-width: 600px) {
  body { font-size: 1.1rem; }
  .campaign-name { font-size: 1rem; letter-spacing: .075em; margin: 13px 0 22px; }
  .hero-eyebrow { gap: 8px; font-size: .95rem !important; }
  .hero-eyebrow .rule { width: 17px; }
  .hero-heading { font-size: clamp(2.15rem, 8.7vw, 2.9rem); line-height: 1.48; }
  .hero-note { font-size: 1rem; }
  .hero-description { font-size: 1.08rem; }
  .hero-cta { width: 100%; font-size: 1rem; padding-inline: 13px; }
  .hero-reassurance { font-size: .96rem !important; column-gap: 7px; }
  .hero-art figcaption { font-size: 1rem; }
  .values-line { display: grid; grid-template-columns: 1fr 1fr; text-align: center; gap: 12px; font-size: 1.05rem; }
  .values-line i { display: none; }
  .section { padding-block: 62px; }
  .chapter { margin-bottom: 29px; }
  h2[id], #idea .problem-copy h2 { font-size: clamp(2rem, 7.8vw, 2.7rem); line-height: 1.5; }
  .center-heading > p:not(.eyebrow), .problem-explanation > p:first-child { font-size: 1.08rem; }
  .problem-art figcaption { align-items: stretch; gap: 20px; }
  .focus-stat { gap: 15px; }
  .focus-stat > strong { font-size: 3.55rem; }
  .focus-stat > span { font-size: 1.05rem; }
  .focus-stat small { font-size: .95rem; }
  .stat-question { font-size: 1.05rem; }
  .stat-question br { display: none; }
  .lesson-quote p { font-size: 1.12rem; }
  .journey-card { padding-inline: 22px; }
  .journey-card h3 { font-size: 1.7rem; }
  .comparison-table th { font-size: 1.27rem; padding-inline: 10px; }
  .comparison-table td { font-size: 1rem; padding-inline: 10px; }
  .comparison-table td + td { padding-inline-start: 12px; }
  .dialogue-card blockquote { font-size: 1.35rem; line-height: 1.82; }
  .guidance-layout h3, .methodology-heading h3 { font-size: 1.9rem; }
  .word-tags { gap: 7px; }
  .word-tags span { padding-inline: 7px; font-size: .95rem; }
  .price > strong { font-size: 4.65rem; }
  .scene { padding-inline: 21px; }
  .scene h3, .scene-two h3 { font-size: 1.7rem; }
  .faq-list summary { font-size: 1.03rem; }
  .final-section h2 { font-size: clamp(2rem, 8.2vw, 2.7rem); }
  .final-button { font-size: 1rem; padding-inline: 14px; }
  .mobile-booking { gap: 8px; padding-inline: 17px; }
  .mobile-booking .button { font-size: .96rem; padding-inline: 16px; }
  .mobile-booking strong, .mobile-booking > div > span { font-size: .98rem; }
}
@media (max-width: 360px) {
  .hero-heading { font-size: 2rem; }
  h2[id], #idea .problem-copy h2 { font-size: 1.95rem; }
  .focus-stat { gap: 10px; }
  .focus-stat > strong { font-size: 3rem; }
  .price > strong { font-size: 4.25rem; }
  .final-section h2 { font-size: 1.95rem; }
}
@media print {
  html { font-size: 100%; }
  body { font-size: 12pt; }
  mark { background: none; }
}
